[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Немогу найти ошибку в строке
N0ob
Во избижании рид-онли от инвиза создал специально темку)) Вот строка:
 $where = (empty(trim($_POST['searchText']))) ? "":" `text` LIKE '%".mysql_real_escape_string($_POST['searchText'])."%'";

PHPDesigrt говорит, что здесь ошибка! Этот файл обработчик аякс запроса и поэтому код ошибки дать не могу(много морочиться)
Placido
Без кода ошибки - это как гадать на кофейной гуще. Первое, что бросается в глаза - когда в $_POST['searchText'] пусто, будет вылетать ошибка SQL, потому что после WHERE должно идти условие выборки. Чтобы этого избежать, вместо
? "":
можно написать
? "1+1":
Также если в $_POST['searchText'] закрадется апостроф, то тоже вылетит ошибка SQL.
Это так, навскидку.
N0ob
Placido
user posted image
inpost
Placido
Про какой апостроф идёт речь?

N0ob
В целом, у тебя ругается на empty(trim()). Кажется так нельзя)

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Placido
Ну да.
Цитата
empty() проверяет только переменные, и попытка проверить что-то еще вызовет ошибку синтаксиса. Другими словами, следующий код не будет работать: empty(trim($name)).

http://php.net/manual/ru/function.empty.php

inpost, например, про такой:
LIKE '%'%'
inpost
Placido
mysql_real_escape_string - экранирует кавычки smile.gif Для этого он и стоит тут, так что всё ок)

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
N0ob
Всем спасибо, проблему решил. Создал отдельную переменную где удаляются все трим`ы и ее уже вписывал в проверку smile.gif
Placido
inpost, ну да, насчет апострофа я погорячился.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.