繁体   English   中英

PDO提取未返回任何结果

[英]PDO fetch returns no results

我正在尝试从数据库中获取结果,它不返回任何错误,并且不返回任何结果。 关于我在做什么错的任何想法吗?

try {
    $db_connection = new PDO("mysql:host = $hostname; dbname = $database", $username, $password);
    //$db_connection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT );  
    $query = $db_connection->prepare("SELECT `id`, `code` FROM `mycodedatabase` WHERE 1");
    $query->execute();
    while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
        echo $row['id'];
        echo $row['code'];
    }
    $db_connection = null;
}
catch(PDOException $e) {
    echo $e->getMessage();
}

尽量避免将同一变量用于不同目的。 使用$ query和$ result。 不要使您的代码复杂。 我认为这将有助于调试,并在逻辑看起来正确时避免错误。

         <?php

         $pdo = new PDO('mysql:host=localhost;dbname=$database', "user", "pass");
         $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        try {

          $query = "SELECT id,code FROM mycodebase";
          $result = $pdo->prepare($query);
          $result->execute();

         while ($row = $result->fetch()) {
           echo $row['id'];
           echo $row['code'];  
        }

       $db_connection = null;
         } catch (PDOException $e) {
           echo $e->getMessage();
       }

      ?>

不要忘记更改“用户”和“通过”

您必须将错误模式设置为PDO :: ERRMODE_EXCEPTION而不是PDO :: ERRMODE_SILENT(这是默认设置,因此为什么不引发异常)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM