<?php
$host = "localhost";
$user = "root";
$password = '';
$dbname = "rokon";
$dsn = 'mysql:host='.$host.';dbname'.$dbname;
$pdo = new PDO($dsn, $user, $password);
$query = 'SELECT * FROM customar';
$query = $pdo->query($query);
while($row = $query->fetch(PDO::FETCH_OBJ)){
echo $row->firstname;
echo '<br>';
}
?>
运行此代码时出现错误,错误是
致命错误:未捕获错误:调用成员函数fetch() 布尔值
答案 0 :(得分:2)
$dsn = 'mysql:host='.$host.';dbname'.$dbname;
看起来您在分配数据库名称时出错。您忘记了=符号。
只需将其更新为
$dsn = 'mysql:host='.$host.';dbname='.$dbname;
然后此代码应该起作用。
答案 1 :(得分:1)
也请尝试使用此代码。
<?php
$host = "localhost";
$user = "root";
$password = '';
$dbname = "rokon";
try {
$dns = "mysql:host=".$host.";dbname=".$dbname.";charset=utf8";
$pdo = new PDO($dns, $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "PDOError: " . $e->getMessage()." In ".__FILE__;
}
$query = 'SELECT * FROM customar';
$query = $pdo->query($query);
while ($row = $query->fetch(PDO::FETCH_OBJ)) {
echo $row->firstname;
echo '<br>';
}