###前提・実現したいこと
MySQLとPHPでウェブサービスを開発しています。
ローカルからMicrosoftAzureのサーバーにアップロードするとデータベースのauto_increment部分に以下のエラーが出てしまい困っています。
MySQLのバージョンは5.5.45になります。
###発生している問題・エラーメッセージ
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1'
###該当のソースコード
php
1$stmt = $pdo -> prepare("INSERT INTO contact(id,name,recruiter,email,phone,content) VALUES('', :name, :recruiter, :email, :phone, :content)"); 2 $stmt -> bindValue(':name', $name, PDO::PARAM_STR); 3 $stmt -> bindValue(':email', $email, PDO::PARAM_STR); 4 $stmt -> bindValue(':recruiter', $recruiter, PDO::PARAM_STR); 5 $stmt -> bindValue(':phone', $phone, PDO::PARAM_STR); 6 $stmt -> bindValue(':content', $content, PDO::PARAM_STR); 7 $stmt -> execute(); 8 $pdo = NULL;
###試したこと
MySQLのsql_modeがストリクトモード(sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES)になっていると空の値を代入できないようなので、ドキュメントルートに.user.iniを置いてsql_mode=NO_ENGINE_SUBSTITUTIONと記載しました。
しかし、効かなかったようで同様のエラーが出てしまいます。
MAX_UPLOADS_FILESIZEはphpinfo()に反映されているので、.user.iniの置き方は問題ないと考えています。
以上になります。よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/04 23:29
2016/10/04 23:38
2016/10/05 01:12
2016/10/05 01:32