我在这段 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/