Проблемы с элиментарным запросом

IIITuJIb

Новичок
Проблемы с элиментарным запросом

Я только несколько дней назад коснулся темы PHP и MySQL так что просьба громко не смеяться. Запрос из таблицы с полями id, login и password по полям логин и пароль:
$autentselect="SELECT * FROM regacc WHERE login=$log AND password=$pass";
$acc = mysql_query($autentselect,$id);
if(!mysql_fetch_array($acc))
{
exit("Ошибка авторизации!");
}
else
{
echo("Авторизация пройдена");
}
Выдает
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Program Files\Apache Group\Apache2\htdocs\autentification.php on line 18
mysql_error() выдает Unknown column 'aaa' in 'where clause'
aaa- значение переменной $log
Можно ли в запросе использовать переменные и если можно то как, помогите пожалуста.
 

filter

Новичок
$autentselect="SELECT * FROM regacc WHERE login='$log' AND password='$pass' ";

-~{}~ 11.12.05 12:25:

Не лишним будет почитать

http://phpfaq.ru/slashes
 

IIITuJIb

Новичок
Пробовал, так работает, точнее ошибки не выдает но все время выдает Ошибку авторизации, хотя я ввожу заведома существующие поля
 

sakon

П..и.н..ок
PHP:
$autentselect="SELECT * FROM regacc WHERE login='".$log."' AND password='".$pass."' ";
 

IIITuJIb

Новичок
Все равно не работает, только что выве таблицу, точно есть строчка с полями которые я ввожу, может быть с типом данных что нибудь не так
 

filter

Новичок
А ты не пробовал посмотреть что же все-таки возвращает тебе
mysql_fetch_array($acc) ?
 

IIITuJIb

Новичок
Автор оригинала: filter
А ты не пробовал посмотреть что же все-таки возвращает тебе
mysql_fetch_array($acc) ?
Пробовал выводить echo, ничего не выводит, как еще посмотреть не знаю
 

IIITuJIb

Новичок
Вы меня не поняли, я имел ввиду что способа посмотреть значение кроме вывода значения на экран не знаю, с print_r я познакомился уже

-~{}~ 11.12.05 14:09:

ничего не выводится
 

IIITuJIb

Новичок
Тем не мение вся таблица по запросу $autentselect="SELECT * FROM regacc" выводится только в путь, может при создании таблица тип полей какой то задать спецыальный надо
 

filter

Новичок
IIITuJIb
Поймешь тебя.

$acc = mysql_query($autentselect,$id) || die(mysql_error());

if(! mysql_fetch_array($acc))
{
echo ("Ошибка авторизации!");
}
else
{
echo("Авторизация пройдена");
}

echo mysql_error();
 

IIITuJIb

Новичок
Значит замечательно все выводится, фразиологизм такой ))

-~{}~ 11.12.05 14:15:

Именно такой код и есть за исключением последнего mysql_error();
 

sakon

П..и.н..ок
[telepat mode]
Может раскладка клавиатуры не та? Например смешаны русские и английские буквы?
[/telepat mode]

-~{}~ 11.12.05 14:17:

filter
$acc = mysql_query($autentselect,$id) OR die(mysql_error());

-~{}~ 11.12.05 14:18:

IIITuJIb
Если как у filter то работать и не будет.
 

IIITuJIb

Новичок
Нет, только английские, может с типами данных не то что нибудь, у меня поля логин и пароль типа tinytext в таблице, а переменные в запрос я передаю с формы через метод post, в форме input type=text для логина и type=password для пароля
 

filter

Новичок
sakon
:) Спасибо за столь "существенные" замечания, которые являются лишь эквивалентами :)

Для расширения кругозора полезно прочитать вот это
http://www.php.net/manual/en/language.operators.logical.php
 

IIITuJIb

Новичок
Автор оригинала: sakon
[telepat mode]
Может раскладка клавиатуры не та? Например смешаны русские и английские буквы?
[/telepat mode]

-~{}~ 11.12.05 14:17:

filter
$acc = mysql_query($autentselect,$id) OR die(mysql_error());

-~{}~ 11.12.05 14:18:

IIITuJIb
Если как у filter то работать и не будет.
Я пока вообще без die(mysql_error())
 

filter

Новичок
IIITuJIb

Если ошибок нет, разбирайся со своим запросом и данными в базе.
протестируй свой запрос в mysql напрямую.

-~{}~ 11.12.05 13:27:

Автор оригинала: IIITuJIb
Я пока вообще без die(mysql_error())
Слушай, нафига тебе тут все помогают если ты ничего сам сделать не хочешь?
 
Сверху