Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > как задать запрос


Автор: Falcon 31.10.2008, 09:08
как правильно задать запрос - мне нужно найти в таблице строки, по двум полям. Например, по имени и фамилии
Код

$q1= mysql_query("select * from `tab1` where `name` = '$n' `fam` = '$f'");

я так понимаю, нужно поставить логическое И между выражениями после Where, а как в SQL выглядит И?

Автор: MoLeX 31.10.2008, 09:12
так же как и в РНР и в других языках AND

Добавлено через 1 минуту и 40 секунд
Код

SELECT * FROM `phone`WHERE `otdel` = 'Отдел информатики и ВТ' AND `people` = 'Иванов И.И.'

Автор: MoLeX 31.10.2008, 09:31
Falcon, если вопрос решился отметь его пожалуйста!

Автор: Falcon 31.10.2008, 09:51
Да спасибо написал так:
Код

$q1=mysql_query("select * from `users` where `log` = '$login' AND`pass` = '$pass'");

просто я до этого писал в запросе &&

Автор: MoLeX 31.10.2008, 09:58
Цитата(Falcon @  31.10.2008,  09:51 Найти цитируемый пост)
`log` = '$login'

надеюсь ты не тупо вставляешь веденые пользователем данные?

Автор: Andrew_D 7.3.2009, 17:35
А как надо вставлять введеные пользователем данные?

Автор: bars80080 7.3.2009, 19:24
Код

$sql = 'select * from `users` where `log` = "'.mysql_real_escape_string($login).'" AND`pass` = "'.mysql_real_escape_string($pass).'"';
$q1=mysql_query($sql);

Автор: gta4kv 7.3.2009, 19:36
bars80080,  легче или просто mysqli использовать, или хотя бы sprintf, твой вариант не очень (читай: очень не) элегантно смотрится.

Автор: bars80080 7.3.2009, 19:56
Цитата(gta4kv @  7.3.2009,  18:36 Найти цитируемый пост)
 легче

легче написать собственный класс, который будет тебе одной строчкой создавать все необходимые обработки, выполнять необходимые проверки, да ещё и статистику вести с возможным логированием

а на вопрос 
Цитата(Andrew_D @  7.3.2009,  16:35 Найти цитируемый пост)
А как надо вставлять введеные пользователем данные? 

лучше написать, то что я написал, ибо здесь самое главное вселить в топикстартера понимание происходящего

Автор: Andrew_D 10.3.2009, 15:43
Спасибо! Безопасность превыше всего smile

Автор: MoLeX 10.3.2009, 16:17

 ! 
MoLeX

Andrew_D, у нас правило:

один топик - один вопрос.

не нарушай его!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)