我已经彻底搜索了SO和谷歌,试图解决这个问题,但一直无法解决。我正在我的代码的某个部分执行INSERT,并且PHP立即使插入失败,报告“MySQL服务器已经消失”。尽管如此,MySQL服务器仍然可以正常响应所有其他操作。其他插入工作正常,如果我手动运行完全相同的查询,它运行没有问题,并插入数据。 MySQL是版本5.5.30,PHP是版本5.4.6。插入查询如下:
INSERT INTO orders
SET userID = '80'
, billing_addr = 'test_addr'
, shipping_addr = 'test_addr'
, ship_instructions = ''
, shipping = 0
, user_comments = ''
, tax = 0
, total = 0
, admin_comments = ''
, source_id = 13
, billing_profile_id = 32
, recurring = 'No'
, total_raw_product_cost = 0
, total_network_payout = 0
, shipping_code = ''
我重新启动了Apache,重新启动了MySQL,检查了表没有崩溃。当此查询失败时,没有信息发送到MySQL日志。
PHP是一个基本的查询,但为了完整起见,我把它包含在这里。
if( db_query($sql) )
{
// do happy stuff because it worked
}
else
{
die("ERROR: UNABLE TO SAVE ORDER DATA <!-- (" . $db_error . ") [" . $sql . "]-->");
}
修改
我有另一个数据库服务器,使用相同的设置工作正常。我尝试匹配my.cnf
文件并重新启动,但没有效果。工作和非工作DB服务器之间唯一的区别是工作版本是5.0.77而不是5.5.30。