php查询中的Mysql语法错误未显示在浏览器中

时间:2012-06-18 13:07:24

标签: php mysql

假设我在php / mysql查询中有错误:

$query = "SELECT * ROM users WHERE _id = :user_id";

这里,FROM缺少“F”。 当我在localhost中启动这个php文件时,我的浏览器没有反应,它应该显示类似的东西:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server 

但它没有,只有空白页... 如何启用此选项?

编辑:我正在使用PDO。

2 个答案:

答案 0 :(得分:2)

  • 如果您使用mysql_*功能,则必须执行以下操作:mysql_query($sql) or die(mysql_error());
  • 如果您使用mysqli_*mysqli_query($sql) or die(mysqli_error());
  • 如果您使用PDO$stmt->execute() or die(print_r($stmt->errorInfo)); //$stmt is instance of PDOStatemen

如果您仍然使用mysql_*我强烈建议您停止使用(我的意思是sql注入)。

答案 1 :(得分:1)

  • 首先在代码中使用mysql_error()函数,以防查询未执行 成功。像这样的东西:

    if(!mysql_query($query)){
       echo mysql_error();
    }
    
  • 其次,检查你的php.ini是否启用了error_reporting。

然后在浏览器上检查错误。