Foy*_*Vai 1 php mysql sql codeigniter
当我使用循环在 MySql 数据库表中插入表行时,如何获得成功确认?
我的代码如下(我正在使用CodeIgniter):
foreach($bookids as $key=>$bookid)
{
$this->db->query("INSERT INTO `book` (`invoice_id`,`item_id`,`quantity`,`price`) VALUES (`$invoice_id`,`$product_id`,`$product_quantitys[$key]`,`$product_prices[$key]`)");
}
Run Code Online (Sandbox Code Playgroud)
我想在所有行插入成功后得到确认。
您可以使用affected_rows()函数来检查数据是否插入(或更新)。
$actual_count = count($bookids); // array of book ids
$inserted_count = 0;
foreach($bookids as $key=>$bookid)
{
$this->db->query("INSERT INTO `book` (`invoice_id`,`item_id`,`quantity`,`price`) VALUES (`$invoice_id`,`$product_id`,`$product_quantitys[$key]`,`$product_prices[$key]`)");
if($this->db->affected_rows()>0) // data inserted, so it will return 1
{
$inserted_count ++;
}
}
if($actual_count == $inserted_count )
{
//throws success message to controller
}
else
{
// throws error message with mismatch record count
}
Run Code Online (Sandbox Code Playgroud)