无论我的查询范围有多大,都得不到结果 PHP:5.3 SQLite3:3.6 PDO:5.3.3 我认为这应该是一个非常简单的过程,但即使环顾四周,我仍然不知道为什么我得到 0 结果。这是我的代码:
<?php
$sqlite = new PDO('sqlite:/example.db');
$result = $sqlite->query('SELECT * from foo');
if(!$result)
{
echo 'fail';
return false;
}
?>
关于我做错了什么有什么想法吗? “foo”表只有四列,而这个测试数据库只有一张表。在 sqlite 中运行查询可以很好地显示结果。
最佳答案
您必须先执行该语句,然后才能获取结果。
您可以在执行方法调用周围添加 try/catch block 。并进行一些错误处理。
这是捕获异常的示例。不要将其用作设计指南。
<?php
try
{
$sqlite = new PDO('sqlite:/example.db');
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
$statement = $sqlite->prepare('SELECT * from foo');
try
{
$statement->execute();
}
catch(PDOException $e)
{
echo "Statement failed: " . $e->getMessage();
return false;
}
$result = $statement->fetchAll();
var_dump($result);
?>
关于php - Sqlite PDO 查询没有返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21504091/