• ベストアンサー

MySQLのUPDATE実行結果を受け取る関数

↓コマンドライン上でのMySQLのUPDATE実行結果 Rows matched: 1 Changed: 0 Warnings: 0 Changed値は、mysql_affected_rows()で受け取れるのですが、 matched値を、受け取る関数はあるのでしょうか? ご回答よろしくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

String mysql_info ( [resource link_identifier] ) "Rows matched: 1 Changed: 0 Warnings: 0" このような文字列として全部が入ってます。 あとは、splitなどを使って切り出すしかないでしょう。

takatokoko
質問者

お礼

mysql_info()知りませんでした。 参考になりました! ありがとうございます!

関連するQ&A

  • update実行時の、追加情報の取得について

    こんばんは。 業務で、以下の情報を知りたいと思います。 5000件のupdate文をマルチクエリ実行した際に、 1.すべての条件が合致して、更新された(成功) 2.PKは合致するが、他の条件は合致しなかった(エラーとしてエラーコードとリクエスト情報を返します) 3.PKが合致するデータ自体が存在しなかった(対象のリクエストデータのみ、インサートの処理が実行されます) 以上を実現するために、以下のようなSQL文を作成して実行しようとしています update tableA set column1=('aaa','bbb',column1) where pk='xx'; 1.pk='xx'かつcolumn1='aaa'が満たされた場合、affected_rowsは1になります。 3.データ自体が存在しないので、affected_rowsは0です 2.については、matchedは1だが、changedは0という結果から判別したいのですが、関数としては、mysqli_infoを使用するしかないでしょうか。文字列が返却されてくるので、必要な情報(matchedとchangedのカウント)のみを取得できる方法を探しています 環境は、以下です PHP5 MySQL(MySQLi接続) FreeBSD 以上、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • updateができない。

    mysql-4.1.11を使っています。 ひとつのDBの中にtableがふたつあります。仮にtable1,table2とします。 このふたつのテーブルについて select * from table1,table2 where table1_col1=table2_col1; というふうにすると、table1_col1とtable2_col1の値が等しいものだけ抽出してくれます。table1_co1,table2_col2というのはそれぞれのテーブルのカラムのひとつです。 しかし、同じ条件で update table1,table2 set table1_col2="A" where table1_col1=table2_col1; という命令を実行しても 「Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0」 というメッセージが出るだけでtable1_col2の値が変わりません。本当なら3つのデータが変わるはずです。 命令の仕方がおかしいのでしょうか? ほかにおかしなところがあるのでしょうか? よろしくおねがいします。

  • 助けてください。Xampp MySQLへログインできなくなってしまいました。

    お世話になります。 XampでMySQLを扱おうと悪戦苦闘中です。 サイト http://homepage1.nifty.com/gak/webdb/mysql.html と、 書籍 PHPによるWebアプリケーションスーパーサンプル第2版 p.740 を参考にしながら行いました。 最初 c:\zampp\mysql\bin>mysql -u root で、mysqlへ入れました。 そして、パスワードを設定しました。 mysql> use mysql Database changed 次にrootユーザーパスワードの設定をしました。 mysql> update mysql.user set password='****' where user='root'; Query OK, 1 row affected (0.03 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> 次に、mysqladminでもパスワードの設定ができるということが記載されていたので、一端MySQLをExitして、試してみました。 C:\xampp\mysql\bin>mysqladmin -u root password '**' mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' と、いう結果でした。 どうも受け付けられなかったようです。 そして、再度MySQLへ入ろうと C:\xampp\mysql\bin>mysql -u root -p Enter password:****** ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwordO) となってログインできなくなってしまいました。 Enter password: で、先ほど設定したパスワードを入力しています。 MySQLのパスワードを忘れた場合は、という記載もありまして、 「--skip-grant-tables オプションを指定してmysqldを起動」 と、いうことでしたので以下のように実行してみましたが、やはりダメでした。 C:\xampp\mysql\bin>mysqld --skip-grant-tables C:\xampp\mysql\bin>mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password O) もう、お手上げです。 おわかりになる方見えましたら、なにとぞよろしくお願いします。 コマンド出力は記録をとりながら行っていたので、こうして記載もできました。

    • ベストアンサー
    • MySQL
  • [MySQL] 実行時間の出力結果について

    MySQL で実行時間の出力結果を、秒で出力する方法について、教えてください。 デフォルトでは、以下のとおり、実行時間が min と出力されますが、これを sec で出力することは 可能ですか? [デフォルトの出力結果] 150 rows in set, 1 warning (2 min 16.85 sec) [期待している結果] 150 rows in set, 1 warning (136.85 sec)

  • Query OK, 0 rows affected

    Query OK, 0 rows affected (0.00 sec) が、MySQLに与える影響について、教えてください。 この場合、「0 rows affected」て書いてあるので、 MySQLに与える影響はない、と考えてよいのでしょうか? それとも、何らかの場合(例えばrows以外)では、 コマンドによっては、 この表示が出ても、 MySQLの設定とかが変更されることはあるのでしょうか? 知りたいのは、 この表示が出てきたとき、 打ったコマンドが 「100%失敗だった」か、あるいは、「必ずしもそうとは限らない」、かについてです。

    • ベストアンサー
    • MySQL
  • delete,updateのクエリ実行で削除更新されたレコード数を取得したい!

    deleteやupdateのクエリをmysql_query()で実行したとき、 結果がtrueかfalseで返ってきてしまいますが、 削除や変更されたレコード数を取得する方法、関数はありませんでしょうか? ご回答宜しくお願い致します。

    • ベストアンサー
    • PHP
  • system関数の実行結果の表示について

    system関数で、mysql -h host -u user -ppasswd dbname < xxx.sqlを 実行しているのですが、エラーメッセージが取得できずに困っています。 DOSプロンプトから実行した場合は、エラーなどがあるとDOSプロンプトに表示されると思うのですが、その結果を取得したいと思っています。 system関数では、取得できないのでしょうか?または、使い方が間違っているのでしょうか? print( system("mysql -h host -u user -ppasswd dbname < xxx.sql") , $intRet ); 環境:Windows2003+Mysql4.1.9+PHP4+Apache2

    • ベストアンサー
    • PHP
  • mysql_query()の結果のメモリ開放について質問です。

    mysql_query()の結果のメモリ開放について質問です。 $res = mysql_query($qer); $num = mysql_num_rows($res); //メモリ開放 mysql_free_result($res); ↑を↓のようにした場合、メモリ開放は不可能なのでしょうか? $num = mysql_num_rows( mysql_query($qer) ); //メモリ開放 ??どうすれば?? ご回答宜しくお願い致します。

    • ベストアンサー
    • PHP
  • CSVファイルをMYSQLにインポート

    先日からMYSQL+PHPの勉強をはじめました。 データベース構築の際、以前作成したCSVファイルをMYSQLのテーブルとして 利用したいと考えております。 そこで、MYSQLコマンドより、 LOAD DATA LOCAL INFILE 'ファイル名.csv' INTO TABLE テーブル名 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'; Query OK, 0 rows affected (0.04 sec) Records: 102 Deleted: 0 Skipped: 102 Warnings: 0 とCSVファイル自体が悪いのかSQL文に問題がるのかインポートがうまくいきません。。 ちなみにCSVは  0,2011/6/2 0:00,80.94,81.32,80.55,80.92 0,2011/5/25 0:00,81.94,82.17,81.8,81.95 0,2011/5/23 0:00,81.77,82.04,81.32,81.99 環境はphpdevで一括でインストールした phpadmin: バージョン2.3.2 MYSQL: MySQL4 apache: 1.3.27 初心者で基本的な質問かもしれないですがどうかご教授お願いします。

    • ベストアンサー
    • MySQL
  • PHP+MySQLをコマンドラインから使えない

    MySQLをつかったPHPをコマンドラインから実行したいのですが、 実行すると、mysql_connect()に対して見つからないというエラーが出ます。 Webから動かす分には問題なく動くのですが、どうすればコマンドラインからでも動かせるようになるでしょうか? よろしくお願いいたします。

    • 締切済み
    • PHP

専門家に質問してみよう