php - 这个 MySQL 准备好的语句有什么问题? "unkown column in where clause"

标签 php mysql sql prepared-statement

我在这段 SQL 代码中使用了准备好的语句:

SELECT `name` FROM `securities` WHERE `symbol`=? AND `type`=`C`

但是当我执行它时,我一直收到这个错误:

Column not found: 1054 Unknown column 'C' in 'where clause'

表格是这样设置的:

+--------+-----------------------+------+------+
| symbol | name                  | type | used |
+--------+-----------------------+------+------+
| AED    | UAE Dirham            | C    | 0    |
| ALL    | Albanian Lek          | C    | 0    |
| ANG    | Neth Antilles Guilder | C    | 0    |
| ARS    | Argentine Peso        | C    | 0    |
| AUD    | Australian Dollar     | C    | 0    |
| AWG    | Aruba Florin          | C    | 0    |
| BBD    | Barbados Dollar       | C    | 0    |
| BDT    | Bangladesh Taka       | C    | 0    |
| BGN    | Bulgarian Lev         | C    | 0    |
| BHD    | Bahraini Dinar        | C    | 0    |
+--------+-----------------------+------+------+

我正在尝试查询只是其中的名称。我该如何解决这个错误?涉及绑定(bind)值的代码太长,无法发布,但基本上,它使用 array($symbol) 执行准备好的语句。是否有我遗漏的 SQL 错误?

最佳答案

您的值 C 包含在反引号中。这应该只对列名和表名执行,而不是值。

将其更改为引号,它应该可以工作:

SELECT `name` FROM `securities` WHERE `symbol`=? AND `type`='C'

关于php - 这个 MySQL 准备好的语句有什么问题? "unkown column in where clause",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084504/

相关文章:

mysql - 如何从表中选择在相关表中没有对应行的行?

php - PHP 风格的 Javascript 数组

PHP 模板非常慢

c# - 如果查询未参数化,如何在查询中传递对象(字节数组)?

java - SQL 处理空日期

sql - 在 SQL 中,如何为表的 future INSERT 语句添加约束?

php - REPLACE mySQL 未在 mySQL 表中追加/替换

php: 从字符串中删除括号/内容?

MySQL 插入选择连接

mysql - 将表与设置的数据连接起来