Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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
使用SQLite3的PHP PDO错误_Php_Sqlite - Fatal编程技术网

使用SQLite3的PHP PDO错误

使用SQLite3的PHP PDO错误,php,sqlite,Php,Sqlite,代码如下: <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); if ($_GET['id']) { $id = $_GET['id']; $db = new SQLite3('database.db'); $sth = $db->query('SELECT * FROM channels WHERE id =

代码如下:

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
if ($_GET['id']) {

    $id = $_GET['id'];

    $db = new SQLite3('database.db');

    $sth = $db->query('SELECT * FROM channels WHERE id = :id');
    $sth->bindValue(':id', $id);

    while ($row = $sth->fetchArray()) {
        var_dump($row);
    }
}
?>

以下是错误消息:

致命错误:在第12行的/var/www/index.html中调用未定义的方法SQLite3Result::bindValue()

我不明白调用undefined方法的
是什么意思,因为我正在PHP自己的网站上学习这些示例。

prepare()

那在哪里?如果您正确地按照手册操作,您将准备一条语句,该语句将提供
bindValue()
method:)

通过直接在数据库句柄上执行查询,您无法获得语句提供的功能。您必须为它创建一个
SQLite3Stmt
对象

像这样

$stmt = $db->prepare('SELECT * FROM channels WHERE id=:id');
$stmt->bindValue(':id', $id, SQLITE3_INTEGER);
$result = $stmt->execute();

您需要调用
$db->prepare()
,而不是
$db->query()
<代码>查询
返回结果集<代码>准备返回一条语句。