DUPLICATE KEY UPDATE ON ...よう INSERT INTOとしてtable
、SQL文の実行中...にmysql_affected_rowsに頼る ()を決定します。 http://dev.mysql.com/doc/refman/5.1/en/mysql-affected-rows.html上のMySQLサイトとして 、それは述べて:行が既存の行と、新しい行として2挿入されている場合、INSERTについてにmysql_affected_rows()戻り値-1
を... DUPLICATE KEY UPDATEステートメントで、影響を受けて、列の値が1であります更新されます。私たちは多くのクエリが今にmysql_affected_rowsを持っていたのMySQL 5.1.16、()マイナス1(-1)
http://dev.mysql.com/doc/refman/5.1/en/mysql-store-result.html上のMySQLのサイト上で提案された解決策を呼び出すことですを返すにアップグレードするまで、すべてがOKに働いていた
selectクエリでmysql_query()関数を実行するたびに関数mysql_store_result()が呼び出されます。
しかし、PHPではこのような関数が定義されていないようです。
PHPとMySQL 5.1.16を使用してmysql_affected_rows()を正しく動作させるにはどうすればよいですか?
準備文を使用していますか?ちなみに、PHPはstore_result関数を持っています - http://php.net/manual/en/mysqli.store-result.phpしかし、store_resultはINSERTの後ではなくSELECTの後に呼び出されます。 * -1は、クエリがエラーを返したこと、またはSELECTクエリでmysql_store_result()を呼び出す前にmysql_affected_rows()が呼び出されたことを示します* –
この問題もあります。 –