使用PDO从MySQL获取数据

时间:2016-11-19 19:49:53

标签: php mysql json pdo

我尝试使用下面的代码从数据库中获取一些数据。 有一个用于连接详细信息的通用配置文件。

  

的config.inc.php

<?php

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";

try {
        $connection = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
        $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }
catch(PDOException $e)
    {
        die("OOPs something went wrong");
    }

?>

有一个单独的文件来执行数据库查询。

  

query.inc.php

<?php

  require_once('config.inc.php');
  $sql = 'SELECT name from table';
  $statement = $connection->prepare($sql);
  $statement->execute();
  if($statement->rowCount())
  {
    $row_all = $statement->fetchall(PDO::FETCH_ASSOC);
    header('Content-type: application/json');
    echo json_encode($row_all);         
  }  
  elseif(!$statement->rowCount())
  {
    echo "no rows";
  }

?>

它抛出HTTP ERROR 500而不是JSON格式的字符串。因为我看到代码在语法上是有效的,并且无法找到语义错误。配置也有效,我用另一个脚本测试了它。

1 个答案:

答案 0 :(得分:0)

我发现了问题。变量$connection未定义,因为它在配置中初始化为$conn。 您可以使用以下代码进行调试:

error_reporting(E_ALL);
ini_set('display_errors', '1');