У меня есть table
tags
и она содержит запись, которая приведена ниже.
ID Name Created Date
10 limit\'s 2013-06-27 05:18:35
Теперь я хочу найти запрос с limit's
но не смог выполнить поиск записи.
За то, что я пробовал.
'SELECT id FROM tags AS Tag WHERE name = "%'. urlencode($adTag) .'%" LIMIT 0,1' 'SELECT id FROM tags AS Tag WHERE name LIKE "%'. htmlspecialchars($adTag) .'%" LIMIT 0,1' 'SELECT * FROM tags AS Tag WHERE name LIKE "%'. $adTag .'%" OR REPLACE(name,'''','') LIKE "%'. $adTag .'%"' 'SELECT id FROM tags AS Tag WHERE name LIKE "%'. mysql_real_escape_string( stripslashes($adTag)) .'%" LIMIT 0,1' 'SELECT id FROM tags AS Tag WHERE name LIKE "%'. mysql_real_escape_string($adTag) .'%" LIMIT 0,1'
Где $adTag
прибывает динамически, и его значение является limit's
. Выше судимы, но ничего из этого не сработало.
Дайте мне знать, что я делаю неправильно, поэтому я могу исправить mysql.
Благодарю.
Если вы хотите найти limit's
, вы должны иметь limit's
в своей таблице.
Итак, прежде всего избавьтесь от ошибочной обратной косой черты в записи таблицы.
Остальное, как обычно
$tag = $db->getOne('SELECT id FROM tags WHERE name = ?s', $adTag);
Ну, после того, как многие работы googleing были выполнены, я наконец получил эту работу.
ниже это решение для меня.
SELECT * FROM tags WHERE `name` = 'limit\\''s' LIMIT 0 , 30
Его работа была похожа на очарование. Надеюсь, это поможет в будущем для других вундеркиндов.
Я попробовал воссоздать свой db и искать, для получения результатов нужно добавить 2 добавления. Я думаю, что MySQL автоматически сбрасывает первую косую черту.
addslashes(addslashes($adTag));
Попробуй это..
$sql = "SELECT id FROM tags AS Tag WHERE name LIKE %". mysql_real_escape_string( stripslashes(urldecode($adTag))) ."% LIMIT 0,1