0

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

5 に答える 5

0

マニュアルには、更新が機能した場合は更新の戻り値が true であり、そうでない場合は false であると記載されているため、先に進んで の値をチェックして、更新が機能したかどうかを確認できます$return

于 2013-04-18T17:28:26.753 に答える
0

クエリがエラーを引き起こさない限り、$result は常に true になるため、$result だけを使用しないでください。Where 句がヒットしなかった場合、何も更新されず、エラーは発生しません。したがって、結果は依然として true です。

更新されたレコードの数を知るためにアレックスが提案したように、mysql_affected_rows を使用します。

そうするif ($result && mysql_affected_rows() )...

于 2013-04-18T17:53:13.770 に答える