[英]Mysql syntax error in php query not showing up in browser
Let's say that I have an error in a php/mysql query : 假设我在php / mysql查询中有一个错误:
$query = "SELECT * ROM users WHERE _id = :user_id";
Here, FROM is missing an "F". 在此,FROM缺少“ F”。 When I launch this php file in localhost, my browser is not reacting, it should display something like that:
当我在本地主机中启动此php文件时,我的浏览器没有反应,它应显示如下内容:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server
But it doesn't, only blank page... How do I enable this option? 但这不是,只有空白页...如何启用此选项?
EDIT: I'm using PDO. 编辑:我正在使用PDO。
mysql_*
functions you have to do something like: mysql_query($sql) or die(mysql_error());
mysql_*
函数,则必须执行以下操作: mysql_query($sql) or die(mysql_error());
mysqli_*
: mysqli_query($sql) or die(mysqli_error());
mysqli_*
: mysqli_query($sql) or die(mysqli_error());
PDO
: $stmt->execute() or die(print_r($stmt->errorInfo)); //$stmt is instance of PDOStatemen
PDO
: $stmt->execute() or die(print_r($stmt->errorInfo)); //$stmt is instance of PDOStatemen
$stmt->execute() or die(print_r($stmt->errorInfo)); //$stmt is instance of PDOStatemen
If you still use mysql_*
I strongly recommend to stop using (sql injection I mean). 如果您仍然使用
mysql_*
我强烈建议您停止使用(我指的是SQL注入)。
First use mysql_error() function in your code in case if query is not executed successfully. 如果查询未成功执行,请首先在代码中使用mysql_error()函数。 something like this :
像这样的东西:
if(!mysql_query($query)){ echo mysql_error(); }
Secondly, check in your php.ini whether error_reporting is on or off. 其次,检查您的php.ini是否打开或关闭error_reporting。
Then check on the browser for the error. 然后在浏览器上检查错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.