只有表1中的更新成功,我才能更新下面代码中的表2?
$sql="update table1 set col1='abc' where col2='1'";
$result=mysql_query($sql);
if(that is success)
{
$sql="update table2 set col1='cde' where col2='1'";
$result=mysql_query($sql);
}
请参阅mysql_affected_rows()
函数,它将返回刚刚更新的行数。此外,尽量避免使用mysql_*函数来支持mysqli_*或PDO,因为它们现在已被弃用。
首先,强烈建议不要使用mysql_*
函数,因为它们在PHP v.5.0版本中已被弃用。
您可以直接使用$result
变量进行检查
$result = mysql_query($sql);
if (!$result) {
die('Update failed: ' . mysql_error());
} else {
$sql="update table2 set col1='cde' where col2='1'";
$result=mysql_query($sql);
}
如果上述查询成功,则$result
变量将具有数字1作为$result,否则它将具有另一个值,因此您可以像下面的一样简单地测试它
if($result == 1)
{
//Your second update result
}
试试这个并告诉我结果:(
手册规定,如果更新有效,则更新的返回值为true,否则为false,因此您可以继续检查$return
的值,看看更新是否有效。
Donot只使用$result,因为只要查询没有导致错误,它将始终为true。如果Where子句没有命中,则不会更新任何内容,也不会导致任何错误。所以结果仍然是真的。
按照Alex的建议使用mysql_affected_rows来了解更新了多少条记录。
if ($result && mysql_affected_rows() )
也是如此。。。