我尝试执行一个非常简单的查询来删除一行。“max\u allowed\u packet”等于“1073741824”,这就是为什么我很困惑为什么我会
Error while sending QUERY packet. PID=2
我从一个表中选择25行,在删除行后通过sms和sleep(1)发送数据。
查询:
$stmt = $db->prepare("select * from sms limit 25");
$stmt->execute();
我在这里循环行,通过短信发送行数据,然后删除它
$q = $db->prepare("delete from sms where id = '$r[id]'");
$q->execute();
sleep(1)
但有时(只是有时不是每次)我得到那个错误,行没有被删除,所以短信发送这么多次给同一个用户,因为它仍然在表中。有什么办法解决这个问题吗?
提前谢谢。
1条答案
按热度按时间6kkfgxo01#
当你使用像
您必须为mysql query b使用单独的db连接。为什么?只要从查询的结果集中读取行,查询仍然可以使用其连接。