2

我是第一次使用 sqlite。

准备一个查询字符串,如

$articleInsertQuery = "INSERT INTO Articles VALUES (?, ?, ?, ?, ?)", ($i, $title, $content, $date, 93,);

它返回“解析错误”。我也尝试过不通过参数化查询

$articleInsertQuery = "INSERT INTO Articles VALUES ($i, $title, $content, $date, 93)";

并且得到"Unable to prepare statement: 1, unrecognized token: ":" "

知道我在哪里做错了吗?

4

1 回答 1

2

@arnold如果您为此使用 PDO。

准备和执行查询的方法如下。

$dbObject = new PDO('sqlite:sqlitedb');// NEW LINE
$articleInsertQuery = "INSERT INTO Articles VALUES (?, ?, ?, ?, ?)";
$query = $dbObject->prepare($articleInsertQuery);
$query->execute(array($i, $title, $content, $date, 93));

编辑:

请参阅sqlite3 准备

$articleInsertQuery = "INSERT INTO Articles VALUES (:i, :title, :content, :date, :int)";
$query = $dbObject->prepare($articleInsertQuery);
$query->bindValue(':i', $i, SQLITE3_INTEGER);
$query->bindValue(':title', $title, SQLITE3_TEXT);
$query->bindValue(':content', $content, SQLITE3_TEXT);
$query->bindValue(':date', $date, SQLITE3_TEXT);
$query->bindValue(':int', 93, SQLITE3_INTEGER);    

$result = $query->execute();

希望这可以帮助。

于 2013-06-08T13:59:02.227 回答