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()。您可以在更新后检查它并轻松检测到您的错误。

但是,关于实际代码,您应该真正注意“建议的替代方案”部分,mysqliPDO现在是 PHP 数据库访问更安全的选择。问题中的代码有明确的SQL 注入问题

于 2012-08-25T22:32:11.097 回答
1

如果您想知道是否修改了行,请使用mysql_affected_rows,也就是说 mysql_* 函数是旧的且未维护的,您应该使用msqliPDO代替准备好的语句,因为您将未经处理的数据放入查询中

于 2012-08-25T22:32:26.143 回答