如果其他表更新成功,则更新表

时间:2013-04-18 17:21:50

标签: php mysql sql

如果table1中的更新成功,我怎样才能更新下面代码中的table2?

$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);
}

5 个答案:

答案 0 :(得分:3)

请参阅mysql_affected_rows()函数,该函数将返回刚刚更新的行数。另外,尽量避免使用mysql_ *函数来支持mysqli_ *或PDO,因为它们现已弃用。

答案 1 :(得分:0)

首先,强烈建议使用mysql_*函数,因为PHP v5.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);
}

答案 2 :(得分:0)

如果以上查询成功,那么$result变量将数字1作为$ result,否则它将具有另一个值,因此您可以像这样测试它

if($result == 1)
 {
     //Your second update result
 }

试试这个并告诉我结果:)

答案 3 :(得分:0)

manual表示如果更新有效,则更新的返回值为true,否则为false,因此您可以继续检查$return的值以查看更新是否有效。< / p>

答案 4 :(得分:0)

只使用$ result,因为只要查询没有导致错误,它就会一直为真。如果Where子句没有命中,则不会更新任何内容并且不会导致错误。所以结果仍然是真的。

使用mysql_affected_rows,因为Alex建议知道已更新了多少条记录。

if ($result && mysql_affected_rows() ) ......

也是如此