从数据库返回空数组中获取数据时

时间:2017-12-22 10:20:40

标签: php mysql pdo

我的问题是关于从数据库获取数据但显示空数组。 我通过PDO连接数据库,否则你可以在代码中看到。建议在代码中,它将提供很好的帮助。

White

2 个答案:

答案 0 :(得分:1)

不确定还有什么可能失败,但在您的连接中,您需要删除' ='

周围的空格
  $tododb = new PDO('mysql:host=localhost;dbname=mytodo;charset=utf8','root','');  //Connect to the db

答案 1 :(得分:0)

通常,PDOStatement:fetchAll()会返回一个空数组,以防查询返回任何数据。

这意味着待办事项表是空的。

但是,在您的情况下,您的PDO凭据不准确且错误报告不足。在数据库错误的情况下,您没有告诉PDO抛出异常。

截至参数,{{3}}添加空格或其他不必要的东西。

在错误报告中,始终将PDO置于Exceptuion模式,以便它可以为您提供线索。

$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

$tododb = new PDO('mysql:host=localhost;dbname=mytodo;charset=utf8','root','', $options);
$statement = $tododb->prepare('select * from todos');
$statement->execute();
var_dump($statement->fetchAll());