You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%"текст%'' at line 4
И как нужно вывeсти найденные результаты?
<form method="post">
<input type="text" name="nmag" size="60" value="">
<input type="submit" name="submit" value="Искать">
</form>
$search = mysql_qw('
SELECT *
FROM name
WHERE name2
LIKE %"'.($_POST['nmag'])."%'"
) or die(mysql_error());
while($search2 = mysql_fetch_assoc($search)){
echo $search2;
}
Спустя 4 минуты, 20 секунд (4.03.2012 - 14:04) Visman написал(а):
$search = mysql_query('SELECT *
FROM name
WHERE name2
LIKE \'%'.mysql_real_escape_string($_POST['nmag']).'%\''
) or die(mysql_error());
while($search2 = mysql_fetch_assoc($search)){
print_r($search2);
}
Спустя 4 минуты, 36 секунд (4.03.2012 - 14:09) Viper666 написал(а):
Выводит ArrayArray
Спустя 1 минута, 20 секунд (4.03.2012 - 14:10) Visman написал(а):
Цитата (Viper666 @ 4.03.2012 - 19:09) |
Выводит ArrayArray |
Кто виноват, что ты массив выводишь? ;)
print_r($search2);
Спустя 6 минут, 46 секунд (4.03.2012 - 14:17) inpost написал(а):
LIKE % -внутри кавычек
Спустя 3 минуты, 47 секунд (4.03.2012 - 14:21) Viper666 написал(а):
Выводит так: Array ( [text] => тут результат )
Спустя 4 минуты, 41 секунда (4.03.2012 - 14:25) Visman написал(а):
Цитата (Viper666 @ 4.03.2012 - 19:21) |
Выводит так: Array ( [text] => тут результат ) |
Правильно.
Чтобы вывести по другому нужно вызять каждый элемент строки и обрамить его требуемым под стиль вывода html кодом например.
Спустя 5 часов, 13 минут, 43 секунды (4.03.2012 - 19:39) Viper666 написал(а):
Спасибо!
Спустя 1 день, 2 часа, 48 секунд (5.03.2012 - 21:40) Viper666 написал(а):
Мне нужно искать по определенной section, section'ов 12 Когда в место WHERE поставил section=1 поиск выдает не правильный результат, он должен вывести то что есть в section=1) Может я что то забыл написать?
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1
LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Спустя 8 часов, 5 минут, 31 секунда (6.03.2012 - 05:45) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 02:40) |
LIKE \'%'.$word.'%\' |
К чему относится? К какому полю?
В данной записи как раз ни к какому
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 8 часов, 33 минуты, 15 секунд (6.03.2012 - 14:19) Viper666 написал(а):
Не понял вопрос?
$word = mysql_real_escape_string($_POST['search']);
$word = mysql_real_escape_string($_POST['search']);
Спустя 5 минут, 36 секунд (6.03.2012 - 14:24) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 19:19) |
Не понял вопрос? |
Я спрашиваю почему поле не пропасано к которому LIKE относится.
Спустя 22 минуты, 8 секунд (6.03.2012 - 14:46) Viper666 написал(а):
Как прописать?
Спустя 7 минут, 32 секунды (6.03.2012 - 14:54) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 19:46) |
Как прописать? |
Пример
SELECT * FROM tbl_name WHERE set_col LIKE '%value%';
set_col - имя поля
value - с чем сравниваем
и условием тут считается set_col LIKE '%value%', а не LIKE '%value%' как у тебя в запросе.
Спустя 6 минут, 57 секунд (6.03.2012 - 15:01) Viper666 написал(а):
Ну мне надо искать только с section под названием 1
Спустя 1 минута, 49 секунд (6.03.2012 - 15:03) Visman написал(а):
:blink:
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1
ORDER BY id DESC'
) or die(mysql_error());
Спустя 2 минуты, 38 секунд (6.03.2012 - 15:05) Viper666 написал(а):
С section=1 должен искать!
Спустя 7 минут, 54 секунды (6.03.2012 - 15:13) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 20:01) |
Ну мне надо искать только с section под названием 1 |
На это я тебе дал ответ
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1
ORDER BY id DESC'
) or die(mysql_error());
Что не так?
Сам же написал условие "надо искать только с section под названием 1" больше в условии ни чего не сформулировано.
Цитата |
Правильно сформулированный вопрос - это половина правильного ответа |
Спустя 2 минуты, 25 секунд (6.03.2012 - 15:16) Viper666 написал(а):
Если я туда поставлю LIKE \'%'.$word.'%\' будет работать?
Спустя 1 минута, 28 секунд (6.03.2012 - 15:17) NitroGenerate написал(а):
Цитата (Viper666 @ 6.03.2012 - 12:16) |
Если я туда поставлю LIKE \'%'.$word.'%\' будет работать? |
А почему не будет-то?
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Спустя 1 минута, 59 секунд (6.03.2012 - 15:19) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 20:16) |
Если я туда поставлю LIKE \'%'.$word.'%\' будет работать? |
Нет, так как выше я написал как like должен использоваться
Цитата (Visman @ 6.03.2012 - 19:54) |
set_col - имя поля value - с чем сравниваем и условием тут считается set_col LIKE '%value%' |
Если уж на то пошло, то посмотри свой первый пост в теме, там то запрос верный!!!
Спустя 3 минуты, 19 секунд (6.03.2012 - 15:22) Viper666 написал(а):
Как ты написал он работает, если написать так
он выдает не правильный результат)
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1 LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
он выдает не правильный результат)
Спустя 3 минуты, 49 секунд (6.03.2012 - 15:26) NitroGenerate написал(а):
Выбери уже наконец, что тебе надо section=1
или
section LIKE \'%'.$word.'%\'
Вместе, использовать неправильно!
или
section LIKE \'%'.$word.'%\'
Вместе, использовать неправильно!
Спустя 1 минута, 17 секунд (6.03.2012 - 15:27) Viper666 написал(а):
section=1 нужен)
А как использовать?
А как использовать?
Спустя 1 минута, 12 секунд (6.03.2012 - 15:29) NitroGenerate написал(а):
Цитата (Viper666 @ 6.03.2012 - 12:27) |
section=1 нужен) А как использовать? |
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1
ORDER BY id DESC'
) or die(mysql_error());
Выдаст результат все строки в которых ячейка section будет равна 1.
Спустя 55 секунд (6.03.2012 - 15:30) Visman написал(а):
Ему надо
Но сформулировать не может :P
$search = mysql_qw('SELECT *
FROM tbl_name
WHERE section=1 AND
name2 LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Но сформулировать не может :P
Спустя 1 минута, 43 секунды (6.03.2012 - 15:31) Viper666 написал(а):
Цитата (Visman @ 6.03.2012 - 12:30) |
Ему надо$search = mysql_qw('SELECT * Но сформулировать не может :P |
Я так пробовал, тоже не правильный результат!
Спустя 1 минута, 51 секунда (6.03.2012 - 15:33) Visman написал(а):
Тогда показывай пример таблицы с набором данных
и какой результат правильный.
и какой результат правильный.
Спустя 5 минут, 51 секунда (6.03.2012 - 15:39) Viper666 написал(а):
Нашел ошибку)
Надо было местами повернуть)
Всем спасибо!
$search = mysql_qw('SELECT *
FROM name
WHERE name2 and section=1
LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Надо было местами повернуть)
WHERE section=1 AND text
Всем спасибо!
Спустя 3 минуты, 7 секунд (6.03.2012 - 15:42) Visman написал(а):
Т.е. этот запрос
работает правильно?
Наверное, я чего-то не понимаю :blink:
$search = mysql_qw('SELECT *
FROM name
WHERE name2 and section=1
LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
работает правильно?
Наверное, я чего-то не понимаю :blink:
Спустя 4 минуты, 27 секунд (6.03.2012 - 15:47) NitroGenerate написал(а):
Свернутый текст
омг... *истерика*
Может быть так?
$search = mysql_qw('SELECT *
FROM name
WHERE section=1 and
text LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Свернутый текст
Хорошая игра, эта угадайка...
Спустя 43 секунды (6.03.2012 - 15:47) Viper666 написал(а):
Цитата (Visman @ 6.03.2012 - 12:42) |
Т.е. этот запрос$search = mysql_qw('SELECT * работает правильно? Наверное, я чего-то не понимаю :blink: |
Нет вот это)
$search = mysql_qw('SELECT *
FROM name
WHERE section=1 AND name2
LIKE \'%'.$word.'%\'
ORDER BY id DESC'
) or die(mysql_error());
Спустя 59 секунд (6.03.2012 - 15:48) Visman написал(а):
Цитата (NitroGenerate @ 6.03.2012 - 20:47) |
$search = mysql_qw('SELECT * FROM name WHERE section=1 and text LIKE \'%'.$word.'%\' ORDER BY id DESC' ) or die(mysql_error()); |
Я аналогично написал выше, только вместо text было взято name2 (имя поля из первого поста).
Спустя 44 секунды (6.03.2012 - 15:49) Visman написал(а):
Цитата (Viper666 @ 6.03.2012 - 20:47) |
Нет вот это) |
Посмотри мои посты выше.
Спустя 6 минут, 3 секунды (6.03.2012 - 15:55) Viper666 написал(а):
Цитата (Visman @ 6.03.2012 - 12:48) | ||
Я аналогично написал выше, только вместо text было взято name2 (имя поля из первого поста). |
Да так было)
Спустя 5 часов, 33 минуты, 31 секунда (6.03.2012 - 21:29) Viper666 написал(а):
Остался еще вопрос) Если в место ? прописать 1,2 или 3 все правильно выводет)
А сам автоматический не определяет section) Только выводит section=1, а в остальных результат 0 (Ошибок не выводит)
А сам автоматический не определяет section) Только выводит section=1, а в остальных результат 0 (Ошибок не выводит)
$search = mysql_qw('SELECT *
FROM sms
WHERE section=? AND text
LIKE \'%'.$word.'%\'',$elem7['number']
) or die(mysql_error());
Спустя 3 минуты, 17 секунд (6.03.2012 - 21:32) Visman написал(а):
,$elem7['number']
Это что за интересная вещь?
Спустя 17 минут, 14 секунд (6.03.2012 - 21:49) Viper666 написал(а):
Цитата (Visman @ 6.03.2012 - 18:32) |
,$elem7['number'] Это что за интересная вещь? |
$res7 = mysql_qw('
SELECT *
FROM name
') or die(mysql_error());
$elem7 = mysql_fetch_assoc($res7);
$elem7['number']
тут хранятся все section, от 1 до последнего.
section=? присваевается $elem7['number']
И будет так, section=1 на пример)