【问题标题】:PDO::query() expects parameter 1 to be string, object given WarningPDO::query() 期望参数 1 是字符串,对象给出警告
【发布时间】:2016-07-14 12:53:11
【问题描述】:

我对 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 是字符串,对象在 >/home/ubuntu/workspace/portals/teachers.php 第 81 行给出

希望有人能帮助我,

谢谢。

【问题讨论】:

  • 您已经执行并获取了数据,您想对那里的查询调用做什么?!
  • 所以我需要删除第 81 行?
  • 是的,整个 if-else 语句。
  • 好吧,让我试试
  • 在访问数据时也不要忘记引号,例如$row[xy] 应该是 $row["xy"]

标签: php html mysql pdo


【解决方案1】:

您无需致电PDO::query()。对于准备好的语句,您调用PDO::prepare(),然后PDOStatement::execute() 执行查询,您可以使用PDOStatement::fetch* 检索结果。

PDO::query()仅用于动态SQL;它以 string SQL 查询语句为参数,例如。 SELECT 声明等

【讨论】:

    【解决方案2】:

    @rizier123 回答了我的问题。

    我只需要删除 if 语句并在行数据中添加引号。

    感谢@rizier123

    【讨论】:

      猜你喜欢
      • 2014-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 2016-11-26
      相关资源
      最近更新 更多