在過去的一個小時裏,我一直在扯掉我的頭髮,試圖找出爲什麼某些函數總是返回假布爾值,當我確定這些行列式是正確的。突然無法從數據庫中讀取?
因此,作爲調試器,我抽象進一步進一步測試所有變量,直到我達到了實際測試血腥數據庫連接的程度。
我可以連接到我的數據庫,但發送給它的每個查詢總是返回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