Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO fetch不返回任何结果_Php_Pdo - Fatal编程技术网

Php PDO fetch不返回任何结果

Php PDO fetch不返回任何结果,php,pdo,Php,Pdo,我试图从数据库中获取结果,它不返回任何错误,也不返回任何结果。你知道我做错了什么吗 try { $db_connection = new PDO("mysql:host = $hostname; dbname = $database", $username, $password); //$db_connection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT ); $query = $db_conn

我试图从数据库中获取结果,它不返回任何错误,也不返回任何结果。你知道我做错了什么吗

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();
}

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

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

尽量避免将同一变量用于不同的目的。使用$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();
       }

      ?>


不要忘记更改“user”和“pass”

尽量避免将同一变量用于不同的目的。使用$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();
       }

      ?>


不要忘记更改“user”和“pass”

尝试将
ERRMODE
设置为
PDO::ERRMODE_EXCEPTION
当您直接在数据库中运行该查询时是否返回结果?
var\u dump($query->errorInfo())
返回什么?@Erik ok错误给我
警告:PDO::setAttribute()需要两个参数,一个参数在
@Mr.1.0中给定……你必须执行
$db\u connection->setAttribute(PDO::ATTR\u ERRMODE,PDO::ERRMODE\u异常)@Mr.1.0-好了。您需要选择数据库尝试将
ERRMODE
设置为
PDO::ERRMODE_EXCEPTION
直接在数据库中运行该查询时是否返回结果?
var\u dump($query->errorInfo())
返回什么?@Erik ok错误给我
警告:PDO::setAttribute()需要两个参数,一个参数在
@Mr.1.0中给定……你必须执行
$db\u connection->setAttribute(PDO::ATTR\u ERRMODE,PDO::ERRMODE\u异常)@Mr.1.0-好了。您需要选择一个数据库