いつもお世話になっております。
表題の件、動的に発行したクエリ文をPDOで実行するとDELETE,UPDATEのみ実行はされるが該当レコードが更新されない事象が発生しております。
PHP5.6
MySQL5.7
centOS7
nginx
PHP
1try{ 2$sql = "DELETE FROM hoge WHERE foo = ? AND bar = ?"; //ここがSELECT or INSERTだと正常に実行され、結果も返ってくる 3 4$arr = array("apple","orange"); 5 6$pdsn = "~";//PDO接続情報 7 8$pod_options = array( 9 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 10 PDO::ATTR_EMULATE_PREPARES => false, 11); 12 13$pdo = new PDO($pdsn ,$pod_options ); 14 15$sth = $pdo->prepare($sql); 16 17$sth->execute($arr); 18 19}catch(PDOExeption $e){ 20echo $e->getMesseaaaaaaaage; 21}
MySQLのユーザーはrootで接続しているので権限周りは問題ない認識です。
わかりにくいかもしれませんがお知恵をお貸しいただけると助かります。
[2017-12-07 9:10 追記]
・上記ソースで全てです。クエリ部分をSELECT文に差し替えた場合は正常に結果が返ってきます。
・INSERTに関しては別の個所に記載されているプログラムが動作し、正常にINSERTされていることを確認しています。
・そのほかの検証としては上記DELETE文をPDO宣言直下で実行してみましたが結果は変わらずtrueの0件で返ってきます。
回答3件
あなたの回答
tips
プレビュー