
[英]Warning: PDO::prepare() expects parameter 1 to be string, object given
[英]PDO::query() expects parameter 1 to be string, object given Warning
我对 PDO 有一点问题。 我在大约 2 分钟前发布了另一个问题,很快就得到了回答,但现在我又犯了一个错误。
这是代码:
$hostname='localhost';
$username='Elmad2';
$password='*******';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=portals",$username,$password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $dbh->prepare('SELECT * FROM docenten');
$stmt->setFetchMode(PDO::FETCH_ASSOC);
$stmt->execute();
$Result = $stmt->fetchAll();
第 81 行 >> if ($dbh->query($stmt)) {
foreach ($Result as $row) {
echo '<div class="item"><a href="teachers/item.php?id=' . $row[id] . '">
<h1 class="title">' . $row[title]. '</h1></a>
<h3 class="author">Geplaatst door: ' . $row[info_bys] . '</h3><span class="description">' . $row[info_shorts] . '</span><br><img src="../' . $row[filepath] . '" class="item-image"><br>
<a href="teachers/item.php?id='.$row[id].'"><button type="button" class="read_more btn btn-primary">Lees meer</button></a>
</div>';
}
}
else{
echo 'error';
}
$dbh = null;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
这是错误:
警告:PDO::query() 期望参数 1 是字符串,对象在第 81 行 >/home/ubuntu/workspace/portals/teachers.php 中给出
我希望有一个人可以帮助我,
谢谢。
您不需要调用PDO::query()
。 对于准备好的语句,您调用PDO::prepare()
,然后PDOStatement::execute()
执行查询,您可以使用PDOStatement::fetch*
检索结果。
PDO::query()
仅用于动态 SQL; 它以字符串SQL 查询语句作为参数,例如。 SELECT
语句等。
@rizier123 回答了我的问题。
我只需要删除 if 语句并向行数据添加引号。
谢谢@rizier123
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.