0

mysqli_affected_rows で問題が発生しました。更新が行われなくても、常に 1 が返されます。

$dbConnect = mysql_connect($dbHost, $dbUser, $dbPass);
$dbSelect = mysql_select_db($dbName, $dbConnect);

$sqlprove = mysql_query('UPDATE '.tblAVB.' SET a= "1" WHERE id= "'.$_POST['id'].'" AND Active = "1" ');

$isprove = mysqli_affected_rows($sqlprove);

どんな体でも私を助けることができますか?

4

2 に答える 2

3

使用している場合は、接頭辞付きの関数のみmysqliを使用します。非推奨のメソッドと組み合わせて使用​​することはできません。 mysqlimysql_query

実際、 を使用mysql_queryしている場合は、まったく使用しないでくださいmysqli

始めたばかりの場合は、代わりにPDOを使用する必要があります。インターフェースは従来のものよりも優れていmysqliますが、PDO に比べてかなり煩わしく、意地悪です。

いずれにせよ、すべての値に対して常に適切な SQL エスケープを使用するように細心の注意を払う必要があります。

于 2012-12-06T20:03:51.187 に答える
0

私はこれを持っていますが、動作しますが、コードの途中でオブジェクト指向スタイルを使用したくありません:

$mysqli->query('UPDATE '.tblAVB.' SET a= "1" WHERE id= "'.$_POST['id'].'" AND Active = "1" ');

$prove = $mysqli->affected_rows;

手続き型スタイルは機能しません!!!!! クエリの前にデータベースに接続し、$link を使用しないためです!!!!

$link = mysqli_connect("localhost", "my_user", "my_password", "world");
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

mysqliではなくmysqlを使用しているためですか?mysql の affected_rows を取得する方法はありますか? 参照

于 2012-12-06T20:33:28.867 に答える