1

再会。

我在数据库中有一行:

数据库

当我第一次选择时:

SELECT * FROM `table` WHERE `name` Like '%Коляска \"Balmoral\" Silver Cross%'

我得到 null(num rows = 0)... 但是如果我进行第二次选择:

SELECT * FROM `products` WHERE `name` Like '%Balmoral%'

我得到 num 行 = 1。

为什么不首先选择以及如何正确选择?

数据库和选择中的斜线,因为我在插入新行并使用选择时使用 mysql_real_escape_string

4

3 回答 3

2

反斜杠是转义字符。如果你想寻找它,你需要逃避它。(换句话说,您需要转义转义字符。):

SELECT * FROM `table` WHERE `name` Like '%Коляска \\"Balmoral\\" Silver Cross%
于 2013-02-17T20:47:40.887 回答
1

用这个:

SELECT *  FROM `titles` WHERE `title` LIKE '%Коляска \\\\"Balmoral\\\\%" Silver Cross'

说明:对于 SQL,\ 必须用 \ 转义,但对于 PHP,我们还需要额外的 \ 来转义。

或者简单地说:

SELECT *  FROM `titles` WHERE `title` = 'Коляска \\"Balmoral\\" Silver Cross'

但是,不知道为什么!!!

于 2013-02-17T21:15:51.860 回答
0

好像在这个操作中不是个好主意。需要使用全文。

例子

SELECT *, MATCH (name) AGAINST
    ('Коляска \"Balmoral\" Silver Cross') AS score
    FROM products WHERE MATCH (name) AGAINST
    ('Коляска \"Balmoral\" Silver Cross');
于 2013-02-17T23:29:57.067 回答