0

これを正しく機能させるために見つけたすべての例を試しましたが、成功しませんでした。$numberトラッキング行の値でない場合、私が望むのはエラーだけです。

<?php
mysql_connect("localhost", "user", "pass") or die("Connection Failed");
mysql_select_db("mydb") or die("Connection Failed");
$number = $_POST['number'];
$date = $_POST['datechange'];
$removed = $_POST['remover'];
$query = "UPDATE Custody SET DateOut = '$date' ,RemovedBy = '$removed' WHERE Tracking= '$number'";  
if (mysql_query($query)) {
    echo "updated";
} else {
    echo "fail";
}
?>
4

2 に答える 2

1

mysql_affected_rows()を探しています。更新後に確認して、エラーを簡単に検出できます。

ただし、実際のコードに関しては、「推奨される代替手段」セクションに注意する必要があります。最近の PHP データベース アクセスでは、mysqliまたはPDOがはるかに安全なオプションです。問題のコードには、明確なSQL インジェクションの問題があります。

于 2012-08-25T22:32:11.097 に答える
1

行が変更されたかどうかを知りたい場合は、mysql_affected_rowsを使用します。 mysql_* 関数は古く、メンテナンスされていないと言われていますが、サニタイズされていないデータをクエリに入れているため、準備されたステートメントではなくmsqliまたはPDOを使用する必要があります。

于 2012-08-25T22:32:26.143 に答える