###実現したいこと
MySQLのデータベースにPHPでデータを入れたいのですが、とあるテーブルにはINSERTされるのですが他のテーブルにはには何故かINSERTされません。この理由が分かる方回答お願いします。
###ソースコード
<?php $db['host'] = "省略"; // DBサーバのURL $db['user'] = "省略"; // ユーザー名 $db['pass'] = "省略"; // ユーザー名のパスワード $db['dbn'] = "省略"; // データベース名 $dsn = sprintf('mysql: host=%s; dbn=%s; charset=utf8', $db['host'], $db['dbn']); session_start();
###試したこと
try { $pdo = new PDO($dsn, $db['user'], $db['pass']); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql="INSERT INTO sub_data(year,tn,sub,eng,name) VALUES (?, ?, ?, ?, ?)"; $data=[$nen,$teacher,$sub,$eng,$name]; print_r($data); $stmt=$pdo->prepare($sql); $stmt=$pdo->execute($dat); $sql="INSERT INTO data(name,g,r,t1,t2,t3) VALUES (?, ?, ?, ?, ?, ?)"; $dat=[$name,$g,$r,$t1,$t2,$t3]; print_r($data); $stmt=$pdo->prepare($sql); $stmt=$pdo->execute($dat); } catch (PDOException $e) { die($e->getMessage()); }
このソースを追加し、実際に配列に格納されているか確認。その後実際にMySQLにINSERT文をソースの通りコピペして実行してエラー文を確認。
ERROR 1366 (HY000): Incorrect string value: '\xE3\x82\xBD\xE3\x83\x95...'
というエラーが出た。
回答3件
あなたの回答
tips
プレビュー