我似乎无法找到答案的快速提问。
在提交查询之前,有没有办法检查会影响多少行?
$conn->autocommit(FALSE);
$conn->begin_transaction();
$conn->query($insert_query);
if(affected_rows_of_query == 0)
-> Nothing happened
if(affected_rows_of_query == 1)
-> Only one record will be updated -> Success!
$conn->commit();
else
->in any other case, rollback
$conn->rollback();
更新一个客户端信息时将使用此选项。因为我知道只有一个客户端信息应该更新,有没有办法检查查询不会影响很多行?
答案 0 :(得分:0)
我感到惭愧.......
我正在使用开关来检查这个。由于affected_rows影响NO ROWS,我稍后检查时得到0。
解决方法:$affected = $conn->affected_rows;
switch($affected)
{
case 0: //nothing
break;
case 1: //OK
echo "Successfully updated 1 client row"
break;
default: $conn->rollback();
echo "Tried to update " . $affected . " rows. Query rolled back"
break;