簡體   English   中英

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

[英]Update table if other table update is successful

僅當成功更新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);
}

請參見mysql_affected_rows()函數,該函數將返回剛剛更新的行數。 另外,請嘗試避免使用支持mysqli_ *或PDO的mysql_ *函數,因為它們已被棄用。

首先,強烈建議不要使用mysql_*函數,因為從PHP mysql_*開始推薦使用它們。

您可以直接使用$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變量的數字將為$result的數字為1,否則它將具有另一個值,因此您可以像這樣簡單地對其進行測試

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

試試這個,告訴我結果:)

手冊指出,如果更新有效,則更新的返回值為true,否則為false,因此您可以繼續檢查$return的值以查看更新是否有效。

不要只用$結果作為它永遠是只要真正為查詢didnt導致錯誤。 如果Where子句沒有命中,則不會更新任何內容,也不會引起錯誤。 因此結果仍然是正確的。

根據Alex的建議使用mysql_affected_rows,以了解已更新了多少條記錄。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM