Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Sqlite PDO查询不返回任何结果_Php_Sql_Sqlite_Pdo - Fatal编程技术网

Php Sqlite PDO查询不返回任何结果

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: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中运行查询可以很好地显示结果


提前谢谢

您必须先执行语句,然后再获取结果

您可以在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)