2012-08-25 36 views
0

我已經嘗試了每個可以找到的示例,以使其正常工作,但沒有成功。似乎很容易,如果$number不是跟蹤行中的值,我想要的只是一個錯誤。如果php的mysql更新總是返回true

<?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"; 
} 
?> 
+0

問題不清楚,你想要什麼? – RedhopIT

+1

請看看這個:http://bobby-tables.com/ – insertusernamehere

+0

如果輸入表單中的數字不在數據庫中,我期待得到一個結果(錯誤)。我總是得到「更新」,無論它是一個價值。 –

回答

1

您正在尋找mysql_affected_rows()。您可以在更新後檢查它,並輕鬆檢測到錯誤。

儘管關於實際的代碼,但您應該真正留意「建議的備選方案」部分,mysqliPDO是PHP數據庫訪問最安全的選項。問題中的代碼有確定的SQL injection problems

1

如果你想知道什麼是如果連續被修改使用mysql_affected_rows,他這樣說mysql_ *功能是老沒有維護你應該爲你把unsanitized數據爲您查詢

準備語句中使用 msqliPDO代替