Спустя 3 минуты, 17 секунд (4.12.2009 - 15:17) twin написал(а):
Штудируй операторы (SQL) - LIKE, АND и OR
А в PHP все, что связано с запросами в базы данных.
А там само пойдет)))
А в PHP все, что связано с запросами в базы данных.
А там само пойдет)))
Спустя 12 часов, 7 минут, 9 секунд (5.12.2009 - 03:24) Soldier Ghost написал(а):
Немного углублюсь, покажу пример )
Твин научил
SELECT *
FROM `table`
WHERE `name` LIKE '%".$name."%' OR
`surname` LIKE '%".$surname."%' AND
`date_b` LIKE '%".$date_b."%'
Твин научил
Спустя 5 часов, 27 минут, 22 секунды (5.12.2009 - 08:51) Michael написал(а):
Не надо никакие там %. Надо точно искать по тому что введено.
И не забывать в PHP обрабатывать строковые данные перед запросом:
$name = mysql_real_escape_string($name);
//Введено имя:
$query = "SELECT * FROM `table` WHERE `name` = '" . $name . "'";
//Введено имя и адрес:
$query = "SELECT * FROM `table` WHERE `name` = '" . $name . "' AND `address`='" . $address . "'";
// Введен адрес
// .......................
И не забывать в PHP обрабатывать строковые данные перед запросом:
$name = mysql_real_escape_string($name);
Цитата |
Твин научил tongue.gif |
заметно.
Спустя 1 час, 3 минуты, 40 секунд (5.12.2009 - 09:55) twin написал(а):
Soldier Ghost
Цитата |
Твин научил |
Поклёп. Не учил я этому.
Michael
Цитата |
заметно. |
Ничего не заметно. А вот дыра в твоем скрипте еще как заметна.
Даже если взять во внимание, что ты телепат и точно знаешь, что именно нужно автору - поиск по полному совпадению, а не по части имени, твой запрос крив.
//Введено имя:
$query = "SELECT * FROM `table`
WHERE `name` = '" . mysql_real_escape_string($name) . "'";
//Введено имя и адрес:
$query = "SELECT * FROM `table`
WHERE `name` = '" . mysql_real_escape_string($name) . "'
AND `address`='" . mysql_real_escape_string($address) . "'";
// Введен адрес
// .......................
Спустя 27 минут, 35 секунд (5.12.2009 - 10:23) Michael написал(а):
Цитата (Michael @ 5.12.2009 - 07:51) |
И не забывать в PHP обрабатывать строковые данные перед запросом: $name = mysql_real_escape_string($name); |
Я показал по типу как делать, дальше ТС пусть думает своей головой, анализирует - это мой подход.
Цитата |
Поклёп. Не учил я этому. |
Вот так значит. А человек считает, что ты его научил. Твои радиовещания он впитал. И не отрекайся от учеников.
Спустя 21 минута (5.12.2009 - 10:44) twin написал(а):
Цитата |
Твои радиовещания он впитал. И не отрекайся от учеников. |
С дуру можно и мягкие ткани поломать. Не от учеников я отрекаюсь, а от того, что мне приписывают. Если бы он впитал это "радиовещание" ( и ты кстати тоже), то не писали бы оба такой откровенной ереси.
Цитата |
Я показал по типу как делать, дальше ТС пусть думает своей головой, анализирует - это мой подход. |
Нет. Ты не показал по типу. Ты имел наглость совершенно однозначно заявить, что
Цитата |
Не надо никакие там %. Надо точно искать по тому что введено. |
И после этого говорить о каком то подходе, который дает вопрошающему поле для раздумий.
И при этом еще и обвинить меня в том, что я неверно кого то учу.
Покажи мне пальцем, где я дал конкретный совет, как писать запрос? К тому же автор этого и не просил.
Спустя 1 час, 52 минуты, 20 секунд (5.12.2009 - 12:36) Soldier Ghost написал(а):
$query = "SELECT * FROM `table` WHERE `name` = '" . mysql_real_escape_string($name) . "'";
//Введено имя и адрес:
$query = "SELECT * FROM `table` WHERE `name` = '" . mysql_real_escape_string($name) . "' AND `address`='" . mysql_real_escape_string($address) . "'";
Если я не ошибасюь такой запрос будет искать точные совпадения т.е. если в поиск вбито слово Login, а в базе лежит Logi то он ничего не найдёт