0

我正在尝试在 youtube 上关注 The New Boston 的 mysql 教程。但是,我有一个问题,phpmyadmin 中的 sql 面板将引号中的文本解释为列。在我的phpMyadmin版本中,(服务器版本:5.1.55,协议版本:10,MySQL客户端版本:5.1.55)我没有看到关闭它的方法。请查看此链接中的图片http://leobee.com/android/push/phpmyadminerrors.html

在 phpMyAdmin 列中可以有引号或在 sql 查询中不带引号:参见图 1 和图 2

城市名称的错误 1054 未知列(这是一个字符串):
参见图 3

转义字符串时出现语法错误 1064 错误:参见图 4

当从城市的字符串周围删除引号时,我也会出错(这是正确的)。

错误日志说这是一个语法错误,但事实并非如此。如何让应用程序仅对字符串使用引号?

4

1 回答 1

2

PhpMyAdmin,像 MySQL 一样使用引号和反引号。两者不同,不应互换使用。

反引号用于列或表:

SELECT * FROM `customers`
-OR-
SELECT `city` FROM `customers`

使用单引号会引发错误:

SELECT * FROM 'customers'
-OR-
SELECT 'city' FROM 'customers'

单引号应该用于字符串。内部的任何附加引号都应正确转义:

SELECT * FROM `customers` WHERE `city`='Raleigh'
-OR-
SELECT city FROM customers WHERE city='Lee\'s Summit'

不正确地转义引号会引发错误:

SELECT * FROM `customers` WHERE `city`=\'Raleigh\'
-OR-
SELECT city FROM customers WHERE city='Lee's Summit'   

希望有帮助!

于 2012-05-23T00:02:55.240 回答