调试sql查询如果失败

时间:2014-12-30 12:26:58

标签: php mysql sql mysqli

我的查询如下

function getConnected($host,$user,$pass,$db) {

   $mysqli = new mysqli($host, $user, $pass, $db);

   if($mysqli->connect_error) 
     die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());

   return $mysqli;
}

$sqli= getConnected('localhost','db','pass','user');



    if ($data = $sqli->query("INSERT INTO `buy_diet`.`rcat` (`cat`, `id`) VALUES ('$cat', '$idea');")) {
     echo $data;
    }
    else
    {
    echo "fail";
    }

上面的代码总是失败..数据库是连接的,所有其他查询,如选择,更新等工作正常,但INSERT查询失败...我试图复制确切的语句并在phpmyadmin运行查询,其工作但不是上面的PHP代码。

那么我怎样才能调试问题。现在我只得到这个错误(bool)false,如何查看详细错误。

2 个答案:

答案 0 :(得分:1)

echo "fail"替换为echo $sqli->error以查看实际问题。

答案 1 :(得分:0)

只需查看mysql错误日志文件即可获得确切问题。要获取日志文件,请使用此链接How to see log files in MySQL?