无论我的查询有多广泛,都无法获得结果 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'表只有四列,而这个测试db只有一个表。在sqlite中运行查询会显示结果。
先谢谢了。
答案 0 :(得分:5)
您必须先执行语句,然后才能获取结果。
您可以在执行方法调用周围添加try / catch块。并做一些错误处理。
以下是捕获异常的示例。不要将它用作设计指南。
<?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();
print_r($result);
?>