Есть запрос:
$result = mysql_query("SELECT * FROM news WHERE title LIKE '%$search%' ORDER BY $sorting",$link);
Как сделать так, чтобы искал в поле title + в text?
$result = mysql_query("SELECT * FROM news WHERE title LIKE '%$search%' OR text LIKE '%$search%' ORDER BY $sorting",$link);
Выбросьте навсегда mysql-функции. Они морально устарели и больше не используются. Если вы их используете, значит у вас уже устаревший php5.
Используйте PDO! И биндите переменные)
$sql = "SELECT * FROM news WHERE title LIKE %$search% OR title LIKE %$search% ORDER BY $sorting";
$result = $db->prepare($sql);
$result->execute();
Во-первых, функции mysql_*
в PHP не рекомендуются к использованию (deprecated). Вместо них нужно использовать MySQLi.
Потом, запрос с вставкой переменных в строку чреват уязвимостью к SQL-инъекциям. Сферически в вакууме считается, что нужно привязывать (binding) конкретные значения как аргументы к запросу (в самом запросе указываются параметры). Но это палка о двух концах, поскольку результаты таких запросов не кэшируются MySQL. На выделенном сервере (включая V[DP]S) можно получить хорошую производительность, используя запросы без параметров.
Как сделать так, чтобы искал в поле title + в text?
Можно использовать LIKE и OR, но считается, что полнотекстовые ключи (fulltext index), которые заодно могут объединять несколько полей, работают быстрее.
Далее, это уже не совсем по теме вопроса, но есть максимально простое и достаточно эффективное решение, которым можно значительно увеличить эффективность поиска - стемминг.
Ответ:
$result = mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$search%' OR `text` LIKE '%$search%' ORDER BY $sorting", $link);
MYSQL - устарел, рекомендую изучить PDO и использовать bindValue дабы избежать SQL инъекции, ибо в вашем запросе это возможно.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
При переходе на любую другую страницу, вываливается ошибка: Sorry, the page you are looking for could not be found
вот такая ошибка у меня ErrorException in SteamAuthphp line 206: Undefined offset: 1 Тут весь код ошибок: http://prntscr
Возникла проблема, не могу вывести строки из базы данныхУдачно приконнектился, правильно выводит число строк в таблице, но почему то выводит...