看来我可以使用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