代码之家  ›  专栏  ›  技术社区  ›  curt

当php没有返回错误时,调试mysql插入失败

  •  0
  • curt  · 技术社区  · 14 年前

    我正在测试一些新的代码,通过使用PHP插入到MySQL数据库中。测试

    $stmt->execute();
    if ($stmt->errorCode() != 0)
    {
        $arr = $stmt->ErrorInfo();
        throw new Exception('SQL failure:'.$arr[0].':'.$arr[1].':'.$arr[2]);
    }
    

    我一个接一个地修正了许多错误。最后它掉了过去,但什么也没写在桌子上。有没有其他测试我可以做,或日志我可以设置,看看是什么问题?MySQL在我的开发PC上本地运行。

    谢谢你的帮助, 简略的

    六个月前,P.S.发布的类似文章并没有建议我可以看到任何进一步的调试方法。

    2 回复  |  直到 14 年前
        1
  •  1
  •   curt    14 年前

    我找到了我的问题的答案,但我希望有更好的答案。我将SQL语句复制到phpmyadmin SQL查询窗口中,用文字替换所有变量,然后运行它。我得到一个错误1426 IIRC,它处理一个外键不匹配。我得到这个错误是因为外键表不是InnoDB,而其他表是。一旦我在数据库中进行了更改,查询就可以正确运行了。您会认为错误代码中会返回该错误。

        2
  •  0
  •   VolkerK    14 年前

    你可以激活mysql的 General Query Log 注意那个日志文件。