首页 > 解决方案 > PHP PDO 变量插入与 SQLite 不兼容

问题描述

当我运行以下命令时:

$pdo = new PDO('sqlite:/path/to/database.db');
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$stmt = $pdo->prepare('CREATE TABLE IF NOT EXISTS :user (id INTEGER PRIMARY KEY AUTOINCREMENT, time INTEGER NOT NULL, ping TEXT NOT NULL);');
$user = "me";
$stmt->execute(array('user' => $user));

我收到以下错误,引用:userSQL 的一部分:

PHP致命错误:未捕获的PDOException:SQLSTATE [HY000]:一般错误:“:用户”附近的1:/datasql.php中的语法错误:21\n堆栈跟踪:\n#0 /datasql.php(21):PDO-> prepare('CREATE TABLE IF...')\n#1 {main}\n 在第 21 行的 /datasql.php 中抛出

我找不到 SQL 有什么问题,如果我在没有变量插入的情况下运行命令,它运行良好。

是什么导致了这个错误?提前谢谢!

标签: phpsqlpdosqlite

解决方案


推荐阅读