:由于MysqL ext不再存在,以下是我在我的网站上根据在Stack Overflow上回答1000多个问题的经验编写的其余两个MysqL API的答案:
简而言之,对于mysqi,必须在MysqLi_connect()
调用之前添加以下行:
MysqLi_report(MysqLI_REPORT_ERROR | MysqLI_REPORT_STRICT);
而对于PDO,必须设置适当的错误模式,例如
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
从旧版MysqL ext开始,
要获得错误,MysqL_query()
您必须使用MysqL_error()
函数。 因此,请始终以这种方式运行所有查询,至少直到您开发出更高级的查询处理程序为止:
$query = "SELECT * FROM 'users'";
$result = MysqL_query($query) or trigger_error(MysqL_error()." ".$query);
当前查询的问题是'users'
一部分。必须使用单引号来分隔字符串,而对于标识符,则必须使用反引号:
SELECT * FROM `users`
为了在开发过程中看到这些错误,请在代码顶部添加以下行,以确保您可以看到发生的每个错误
ini_set('display_errors',1);
error_reporting(E_ALL);
在生产服务器上,但是,第一行的值应从1更改为0