php - SQlite 3 PDO 语句在 PHP 中失败

标签 php sql sqlite pdo database-connection

为什么以下语句在 php 中失败(我已经建立了到名为 config.db 的 sqlite 数据库的 PDO 连接)。

$stmt = $this->db->prepare("INSERT INTO config (S_BASE_DIR) VALUES (':col0')");
$stmt->bindParam(':col0',$colValue);
$stmt->execute();
$stmt->close();

确切的错误是:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 25 bind or column index out of range'

最佳答案

绑定(bind)到列时,不需要引用该列:

$stmt = $this->db->prepare( "INSERT INTO config (S_BASE_DIR) VALUES ( :col0 )" );
$stmt->bindParam(':col0', $colValue);

用引号引起来的 :col0 它只是一个字符串,而不是绑定(bind)参数。

关于php - SQlite 3 PDO 语句在 PHP 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588043/

相关文章:

Rails 迁移过程中默认十进制值的 MySQL 错误

android - 我需要从数据库中获取数据并在另一个 Activity 中显示它们

javascript - DataTables - 如何使用自定义条件对列进行排序?

谷歌浏览器中的 JavaScript

C#和mysql,表连接

mysql - 如何计算mysql触发器内的两个变量?

mysql - 我可以在没有 union 子句的情况下重写这个查询吗

php - 函数在 mysql 中显示数据截断列的警告

php - 1分钟后出现500服务器错误

java - 使用数据库的典型 API 或标准是什么? (关系型、对象型和 Nosql)