在过去的一个小时里,我一直在扯掉我的头发,试图找出为什么某些函数总是返回假布尔值,当我确定这些行列式是正确的。突然无法从数据库中读取?
因此,作为调试器,我抽象进一步进一步测试所有变量,直到我达到了实际测试血腥数据库连接的程度。
我可以连接到我的数据库,但发送给它的每个查询总是返回false。我很困惑。这怎么可能是错的?
$db = new PDO('mysql:db=privatechat;host=127.0.0.1', 'root', '');
var_dump($db);
$stmt = $db->prepare("SELECT * FROM `accounts`");
var_dump($stmt);
$stmt->execute();
$row = $stmt->fetch();
var_dump($row);
结果:
object(PDO)#1 (0) { } object(PDOStatement)#2 (1) { ["queryString"]=> string(24) "SELECT * FROM `accounts`" } bool(false)
这是疯狂的一部分......当我连接到另一个地方项目还行吧!?
这里是我的数据库和表格的截图:
我提交这个疑问, “DB =” 应为 “DBNAME =”
天哪我才意识到! :)
你得到的实际MySQL错误是什么? – 2012-08-13 15:38:53
'选择1从双'? – Sebas 2012-08-13 15:39:14
没关系,我只是意识到PDO字符串是错误的。我把“db =”,而不是“dbname =” – Lee 2012-08-13 15:39:17