質問編集履歴

2 内容追加

hanhunhun

hanhunhun score 69

2017/12/07 09:13  投稿

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

    25631 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    7452 questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • PDO

    402 questions

    PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

1 タイトル更新

hanhunhun

hanhunhun score 69

2017/12/06 17:41  投稿

【PHP,MySQL,PDO】DELETE,UPDATEだけ実行結果TUREなのにレコードが更新されない
【PHP,MySQL,PDO】DELETE,UPDATEだけ実行結果TRUEなのにレコードが更新されない
いつもお世話になっております。
表題の件、動的に発行したクエリ文をPDOで実行するとDELETE,UPDATEのみ実行はされるが該当レコードが更新されない事象が発生しております。
PHP5.6
MySQL5.7
centOS7
nginx
``` PHP
try{
$sql = "DELETE FROM hoge WHERE foo = ? AND bar = ?"; //ここがSELECT or INSERTだと正常に実行され、結果も返ってくる
$arr = array("apple","orange");
$pdo = new PDO(~);
$sth = $pdo->prepare($sql);
$sth->execute($arr);
}catch(PDOExeption $e){
echo $e->getMesseaaaaaaaage;
}
```
MySQLのユーザーはrootで接続しているので権限周りは問題ない認識です。
わかりにくいかもしれませんがお知恵をお貸しいただけると助かります。
  • PHP

    25631 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • MySQL

    7452 questions

    MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

  • PDO

    402 questions

    PDO(PHP Data Objects)はPHPのデータベース抽象化レイヤーです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る