我喜欢将代码稍微修改一下,如果int $itemID不存在,则用户应该触发$retval die,如果$itemID存在,则用户应该继续对db进行更新。
哪种方法最合适?
代码:
$upd = "UPDATE booking SET userID ='$userID' WHERE itemID ='$itemID'";
$retval = mysql_query($upd, $con);
if(!$retval){
die('Could not update data: '.mysql_error());
}
echo "Updated data successfully\n";发布于 2014-06-18 12:04:51
您应该检查受影响的行数,如下所示:
$upd = "UPDATE booking SET userID ='$userID' WHERE itemID ='$itemID'";
$retval = mysql_query($upd, $con);
if(!$retval || 0 === mysql_affected_rows()) {
die('Could not update data: '.mysql_error());
}
echo "Updated data successfully\n";此外,正如注释中所述,您应该使用mysqli_甚至是PDO,而不是mysql_,因为后者已经严重过时。
发布于 2014-06-18 12:05:06
您可以使用mysql
PHP用户手册中的使用示例:
/*更新记录*/ mysql_query(“更新mytable集used=1,其中id < 10");printf (”更新记录:%d\n",mysql_affected_rows();mysql_query(“提交”);
请注意,从php5.5.0开始,mysql_*方法将被废弃。或者,您可以使用PDO prepared statements
发布于 2014-06-18 12:05:46
这个怎么样?
$upd = "UPDATE booking SET userID ='$userID' WHERE itemID ='$itemID'";
if( isset($itemID) && $retval = mysql_query($upd, $con) ){
echo "Updated data successfully\n";
}
else {
die('Could not update data: '.mysql_error());
}(是的,谨慎地更新到mysqli_*。)
https://stackoverflow.com/questions/24285017
复制相似问题