-1
我想弄清楚如果創建用戶會發生什麼,但是第二次插入沒有成功運行會發生什麼情況下最好的路線。有什麼可能性?重構保存用戶函數
/**
* save_user function.
*
* @access public
* @param string $user_name
* @param string $user_directory_name
* @param integer $user_status_id
*
* @return TRUE/FALSE
*/
public function save_user($user_name, $user_directory_name, $user_status_id)
{
$data = array(
'user_name' => $user_name,
'user_directory_name' => $user_directory_name,
'user_status_id' => $user_status_id
);
$this->db->insert('users', $data);
if ($this->db->affected_rows() == 1)
{
$data = array(
'user_id' => $this->db->insert_id()
);
$this->db->insert('user_profiles', $data);
if ($this->db->affected_rows() == 1)
{
return true;
}
else
{
return false;
}
}
}
第二次插入失敗的原因是什麼(當然編碼錯誤除外)?如果發生故障,您可以刪除插入的上一行。或者如果你的數據庫服務器支持它,你可以查看「事務」。這將允許您執行兩個插入,但只有在兩個都成功時纔將它們「提交」到數據庫。 – koopajah
這正是我所需要的。謝謝。 –