我的问题是关于从数据库获取数据但显示空数组。 我通过PDO连接数据库,否则你可以在代码中看到。建议在代码中,它将提供很好的帮助。
White
答案 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());