看來我可以使用PDO連接到我的數據庫,但無法執行任何查詢。例如:PHP&PDO:可以連接到數據庫;似乎無法查詢
private function connect() {
try {
$link = new PDO("mysql:host=$this->sHost;dbname=$this->sName", $this->sUser, $this->sPass);
}
catch (PDOException $e) {
die ($e);
}
print_r($link);
$result = $link->query("select * from mt3_users");
var_dump($result);
$row = $result->fetch($result);
die("Your id is: ".$row["id"]);
//$link = mysql_connect($this->sHost, $this->sUser, $this->sPass);
if (!$link) {
echo "Failed to connect to $this->sHost!";
return false;
}
return $link;
}
這將返回以下:
PDO Object () bool(false) Fatal error: Call to a member function fetch() on a non-object in Database.php on line 32
所以基本上,$鏈接是回來爲PDO對象(我改變了我的用戶名和密碼,以查看是否有異常被抓住了,這是)和PDOConnection :: Query出於某種原因返回null。這是我第一次處理PDO - 我是否在做一些有趣的事情?
代碼風格建議:不要把變量在雙引號中的字符串,但使用單 - 引用字符串和字符串連接來嵌入變量。使代碼更易讀和更快。 此外,如果你想讓一個異常致命,你不必手動捕獲它們並死掉()。 – ThiefMaster 2010-11-29 23:01:03