前提・実現したいこと
mysqli_queryでInsert文を実行したい。
発生している問題・エラーメッセージ
test.phpを実行時にmysqli_queryの返り値がfalse
該当のソースコード
php
1//mysql.php 2 <?php 3 class MySQL{ 4 var $m_Con; 5 var $m_Rows; 6 function MySQL(){ 7 //接続処理 8 $this->m_Con=mysqli_connect($this->m_HostName,$this->m_UserName,$this->m_Password); 9 } 10 function query($sql){ 11 $this->m_Rows=mysqli_query($this->m_Con,$sql); 12 return $this->m_Rows; 13 } 14 } 15 ?> 16//test.php 17 <?php 18 require_once("mysql.php"); 19 $mysql=new MySQL; 20 $no = 1; 21 if(!$mysql->query("INSERT INTO usrs(no) VALUES($no)")){ 22 $err=18; 23 echo "err=".$err; 24 exit(); 25 } 26 ?>
試したこと
insert文に文字列の変数が入っていましたが、定数にしてシンプルにしてもダメでした。
補足情報(FW/ツールのバージョンなど)
phpのバージョンは7です。
今まで5を使っていて7に移行しようと、コードを書き換え中です。
DBへの接続やselect文は正常に動作します。
実際にphpから関係ありそうなところだけ抜粋しました。
追記
今回新しくxampp環境を作りやっているのですが、phpmyadmin上でテーブルのnoカラムに値を入れてinsertしようとしたらエラーが出ました。
INSERT INTO `usrs` (`no`, `usr_id`, `device_id`, `inst_date`, `status`, `pro`, `da`, `pf`) VALUES ('1', '', '', '', '', '', '', '') MySQL のメッセージ: ドキュメント #1366 - Incorrect integer value: '' for column `db`.`usrs`.`usr_id` at row 1
おそらくこれが原因だと思われるのでカラムの値の初期値設定周りを調べてみます。
回答2件
あなたの回答
tips
プレビュー