我一直在研究数据库包装器类,并且服务器偶尔会消失... MySQL的典型2006错误消息。我已经包含了处理重新连接到数据库的逻辑,这似乎正在起作用。对我来说有趣的是这个查询:
SELECT id FROM pixel WHERE (id = 522574) AND (advertiser_entity_id = 45574) LIMIT 1
在PHPMYADMIN中执行该行会产生一个空集。通过数据库类执行该操作将返回false。
有没有人见过这种行为?没有mysql_errorno或错误消息回来。
$result = mysql_query($query, $this->database_connection);
if (false === $result) {
// handle error here
}
else { return $result; }
答案 0 :(得分:11)
找不到匹配的行并不是错误。如果它没有找到满足WHERE条件的任何记录,那不是错误,它只返回一个空结果。如果您正在编写自己的数据库层,它也不应该将其视为错误 - 查询运行得很好,它只是没有找到任何匹配。
如果你问,为什么你的代码返回false,可能只是因为通常语言在布尔上下文中将零值或空值视为“false”。