Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывести значение ячейки по значению соседней
Покинул форум
Сообщений всего: 67
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
Здравствуйте. Возникла такая проблема : допустим, у меня есть таблица MySQL. В ней есть 3 параметра : login, password и data. Мне нужно вывести на экран содержание определенной ячейки дата, которой соответствуют введенные логин и пароль.
Т.е., например, в базе есть следующее значение :
Логин - Crowley ; Password - Pass ; Data - SecretText.
И если в переменной $login = "Crowley" а переменная $passw = "Pass", то на экран выводится "SecretText", соответственно, если, например, $login = "Crowley" а $passw = "badPass", то текст не выводится.
Как бы мне все это реализовать?
teddy
Отправлено: 22 Февраля, 2014 - 19:34:06
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Во-первых, у тебя нет переменной $password, а есть $passw... Поэтому в запрос передается пустое значение и, соответственно, приходит пустой результат.
Во-вторых, наличие в результате запроса с SELECT строк лучше проверять через функцию mysql_num_rows($result).
В-третьих, если ты знаешь, что в случае удачи запрос должен вывести только одну строку, то используй в запросе LIMIT 1.
mysql_query("UPDATE Auth SET(id='$id',login='$login',password='$passw',data='$texta') WHERE $id",$conn);
В данном случае текст передается POST запросом, а потом записывается в ячейку data с id равным тому, что мы получили с фетча.
esterio
Отправлено: 24 Февраля, 2014 - 20:59:23
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
MAXUS пишет:
инкапсуляции
небольшая поправочка Иньекции. Инкапсуляция - одно из правил ООП.
Crowley
MAXUS пишет:
$fr == ""
$fr не может быть строкой. Оно может быть
- ресурс - SELECT выполнен успешно
- true - INSERT, UPDATE, DELETE - выполнен успешно
- false - запрос не выполнен. ошыбка mysql_error
Также не строгое приведение типов влияет. Тоесть
"" - равно как FALSE
если запрос вернет FALSE, то будет FALSE == "" будет истиной
если запрос вернет TRUE или ресурс (тоесть успешно испониться), то будет TRUE == FALSE, что не являеться истинным для условия (Добавление)
Crowley пишет:
WHERE $id
Ошыбка в запросе
Цитата:
WHERE id=$id
MAXUS
Отправлено: 25 Февраля, 2014 - 08:00:45
Посетитель
Покинул форум
Сообщений всего: 329
Дата рег-ции: Апр. 2011
Помог: 7 раз(а)
esterio пишет:
небольшая поправочка Иньекции. Инкапсуляция - одно из правил ООП.
Сорри. Конечно же. Бес попутал.
Crowley
Отправлено: 25 Февраля, 2014 - 19:44:25
Гость
Покинул форум
Сообщений всего: 67
Дата рег-ции: Янв. 2014
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.