【发布时间】:2012-09-02 08:38:11
【问题描述】:
我尝试按照有关 PDO 的本教程进行操作,并且完全按照它进行操作,但是当尝试在非常基本的级别上进行连接时,它会输出一个非对象错误。我做了一个小测试来确定 $query 变量的布尔值,它的结果是错误的,这会产生错误。为什么要这样做?:
教程
http://www.youtube.com/watch?v=lb0NYODtGr4&feature=share&list=EC23A4AFEA46A5CB23
错误
致命错误:在非对象上调用成员函数 fetch() C:\xampp\htdocs\projects\dentaloffice\php\php_connect.php 在第 16 行
代码
<?php
$config['db'] = array(
'host' => 'localhost',
'username' => 'root',
'password' => '',
'dbname' => 'dentaloffice'
);
$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname =' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']);
$query = $db->query("SELECT appointments.ROOM FROM appointments");
if($query === false){
echo '$query variable returned false <br>';
}else{
echo '$query variable returned true <br>';
}
while ($row = $query->fetch(PDO::FETCH_ASSOC)){
echo $row['ROOM'];
}
?>
【问题讨论】:
-
请将
print_r($db->errorInfo());行添加到false分支。它显示了什么? -
另外,如果你想打印变量,你需要使用双引号而不是单引号
-
嗨,@raina77ow,这是它返回的内容:
Array ( [0] => 3D000 [1] => 1046 [2] => No database selected )
标签: php object pdo fetch sqlconnection