以下是代码:
<?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自己的网站上关注这些例子。
答案 0 :(得分:3)
prepare()
那是哪里?如果您正确地遵循了该手册,那么您将准备一份声明,该声明将提供bindValue()
方法:)
通过直接在数据库句柄上执行查询,您无法获得语句提供的功能。您必须为它创建一个SQLite3Stmt
对象。
喜欢这个
$stmt = $db->prepare('SELECT * FROM channels WHERE id=:id');
$stmt->bindValue(':id', $id, SQLITE3_INTEGER);
$result = $stmt->execute();
<强> Reference 强>