使用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()
<代码>查询
返回结果集<代码>准备返回一条语句。