LINUX.ORG.RU

[mysql lamo] Выбор 2 колонок из таблицы


0

0

Сижу и ничего не понимаю. Есть запрос mysql_query("SELECT * FROM `db_users` WHERE (mail=$mail,pass=$pass)") or die(mysql_error());

Получаю "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 'pass=pass)' at line 1"

Пробовал не запятую ставить, а AND, а также WHERE (mail,pass) IN ($mail,$pass). На все ругается. Можно, конечно, выбрать все значения из таблицы, и гонять цикл, но хотелось бы через SELECT.

Где я туплю?

Re: [mysql lamo] Выбор 2 колонок из таблицы

Поля mail и pass CHAR(n)? Тогда так:
mysql_query("SELECT * FROM `db_users` WHERE mail='$mail' AND pass='$pass'");

$mail и $pass желательно обезопасить с помощью mysql_real_escape_string, примерно так:

mysql_query(
sprintf("SELECT * FROM `db_users` WHERE mail='%s' AND pass='%s'",
mysql_real_escape_string($mail),
mysql_real_escape_string($pass)
)
);

RR ()

Re: [mysql lamo] Выбор 2 колонок из таблицы

Еще возможно что название поля "pass" недопустимо в mysql, попробуй переименовать его, встречал подобное к примеру с названием "decs", тоже долго не мог понять.

fedkoff ()
Ответ на: Re: [mysql lamo] Выбор 2 колонок из таблицы от fedkoff

Re: [mysql lamo] Выбор 2 колонок из таблицы

> Еще возможно что название поля "pass" недопустимо в mysql, попробуй
переименовать его, встречал подобное к примеру с названием "decs",
тоже долго не мог понять.

Неправда:

mysql> create table test_table (decs int, pass int);
Query OK, 0 rows affected (0.02 sec)

с чего бы 'pass' было недопустимым?

gods-little-toy ★★★ ()
Ответ на: Re: [mysql lamo] Выбор 2 колонок из таблицы от RR

Re: [mysql lamo] Выбор 2 колонок из таблицы

Таки да, нужно было курить мануалы до полного просветления, а не примеры гуглить.

SELECT * FROM `db_users` WHERE mail='$mail' AND passw='$passw'

Так работает.

NiggasLife ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.