Php 在MySQL文本字段中搜索符号
我有一个疑问:Php 在MySQL文本字段中搜索符号,php,mysql,Php,Mysql,我有一个疑问: SELECT 'events' AS tbl,events.*, users.name, users.lastname, (SELECT COUNT(*) FROM events_participants WHERE events_participants.eventid=events.id) AS participants FROM (events INNER JOIN users ON users.id=even
SELECT 'events' AS tbl,events.*, users.name, users.lastname,
(SELECT COUNT(*) FROM events_participants WHERE
events_participants.eventid=events.id) AS participants
FROM
(events INNER JOIN users ON users.id=events.organizer)
WHERE events.isConfirmed<=1
AND events.category='art&culture'
AND events.city='Roma(Rm)'AND events.datetime >= '2011/02/22 22:30'
AND events.datetime<='2011/06/22 23:00' ORDER BY events.datetime DESC
艺术与文化中的符号“&”会导致查询不返回行。如果这是完整的查询,则“2011/06/22 23:00”和“ORDER BY”之间应该有一个空格。可能的问题: datetime是一个保留字。尝试将events.datetime替换为events.datetime。无论它出现在哪里,都可以使用“datetime”。
在MySQL中,您可以在如下文本字段中搜索符号:
mysql> create table yar (id INT, mytext TEXT);
Query OK, 0 rows affected (0.02 sec)
mysql> insert into yar values(1, 'art&culture');
Query OK, 1 row affected (0.00 sec)
mysql> select * from yar;
+------+-------------+
| id | mytext |
+------+-------------+
| 1 | art&culture |
+------+-------------+
1 row in set (0.00 sec)
mysql> select * from yar where mytext = 'art&culture';
+------+-------------+
| id | mytext |
+------+-------------+
| 1 | art&culture |
+------+-------------+
1 row in set (0.00 sec)
您使用什么编程语言将此查询推送到mysql。会出现什么错误?什么不起作用?这是有效的SQL,因为&不需要特殊的转义。因此,我假设查询没有返回任何内容。要么因为条目不存在,要么因为DB内容已编码。请使用DB浏览器进行验证。如果您使用PHP和一个广泛使用的清理功能,它可能是&;您确定该值实际上是一个符号&而不是符号&;的html实体吗;