使用SQLite3的PHP PDO错误

时间:2016-02-08 15:15:05

标签: 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 = :id');
    $sth->bindValue(':id', $id);

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

以下是错误消息:

  

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

我不明白Call to undefined method的含义,因为我在PHP自己的网站上关注这些例子。

1 个答案:

答案 0 :(得分:3)

prepare()

那是哪里?如果您正确地遵循了该手册,那么您将准备一份声明,该声明将提供bindValue()方法:)

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

喜欢这个

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

<强> Reference