Php Sqlite PDO查询不返回任何结果
无论我的查询有多广泛,都不会得到任何结果 PHP:5.3 Sqlite3:3.6 PDO:5.3.3 我认为这应该是一个非常简单的过程,但即使环顾四周,我仍然不知道为什么我会得到0个结果。这是我的密码:Php Sqlite PDO查询不返回任何结果,php,sql,sqlite,pdo,Php,Sql,Sqlite,Pdo,无论我的查询有多广泛,都不会得到任何结果 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 fals
<?php
$sqlite = new PDO('sqlite:/example.db');
$result = $sqlite->query('SELECT * from foo');
if(!$result)
{
echo 'fail';
return false;
}
?>
你知道我做错了什么吗?“foo”表只有四列,而这个测试数据库只有一个表。在sqlite中运行查询可以很好地显示结果
提前谢谢 您必须先执行语句,然后再获取结果 您可以在execute方法调用周围添加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();
var_dump($result);
?>
您得到了一个异常
?另外,如何从$result
获取详细信息无例外。我还没有抓取变量是空的,没关系吗?好的,你确定数据在吗?若并没有例外,表应该在那个里并且可以通过我们的PHP获得。插入操作可能未在您的其他sqllite会话中提交?我不确定您关于插入操作的意思。我可以从命令行运行此命令,并返回所有7行:sqlite example.db'SELECT*from foo'to get exceptions run:$sqlite->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION)实际上,我相信无论您是否获取结果,数据的var都应该为true。我确实在try-catch中有它,fetch在测试之后看看是否有$结果。这个问题原来是一个配股问题,是通过捕捉异常发现的。因此,var仍然是空的。谢谢。我已经编辑了我的答案,为调试提供了更好的指导。我现在在这里。:)