【发布时间】:2014-11-11 04:22:42
【问题描述】:
我在 PDO 中使用准备好的语句从我的 SQL 服务器中选择一些数据,但出现语法错误:
QLSTATE[HY000]: General error: 10007 Incorrect syntax near 'memb_user'. [10007] (severity 5) [(null)] in
memb_user 是表名。这是准备好的语句和我正在使用的数组:
$query = "SELECT ?, ? FROM ? WHERE ? = ? AND ? = ?";
$data = array($this->columns['username'], $this->columns['password'], $this->table,
$this->columns['username'], $this->user , $this->columns['password'], $this->pass);
这就是我执行语句的方式:
$statement = $this->connection->prepare($query);
$statement->execute($data);
我已经尝试将查询放入 sql server 并用正确的值替换占位符,这似乎没问题,唯一需要关注的是需要在 WHERE 条件中的引号。那我是不是执行错了?
【问题讨论】:
-
列名或表名不能使用占位符 ->
SELECT ?, ? FROM ?,只能用于值。
标签: php sql sql-server pdo