您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何调试为什么最简单的MySQL查询返回false?

如何调试为什么最简单的MySQL查询返回false?

:由于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

MySQL 2022/1/1 18:14:53 有577人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶