|
|
|
| Я порылся в архивах и не нашёл примера Как вывести только одно поле из базы. Если просмотрел - прошу ткнуть носом и не пинать больно.
Условия: есть база данных MySQL. Одна из таблиц назвается[ b] workers[/b]. Внутри этой таблицы есть поле password. Всего в таблице около 1000 записей.
ПРи входе на страницу Юзер пишет Пароль который должен быть проверен со списком поля password.
Если такой пароль существует - заходи (Поздороваться по имени, которое занесено в поле f_name и фамилии l_name).
Вопрос:
1. как должен выглядеть запрос который позволит сравнить вводимый Юзером пароль с паролями столбика password в таблице workers
2. Как вытащить остальные данные из этой строки?
Возможно кому-то моя проблема может показаться детским садиком, но ... не могу справиться. Если можно помогите пожалуйста. Чем подробнее тем лучше, если можно построчным кодом.
Подключаться к базе я уже научился (эту часть можно пропустить).. )) а вот читать из неё ещё нет.
Заранее благодарю. | |
|
|
|
|
|
|
|
для: Monk09
(01.11.2009 в 09:50)
| | >1. как должен выглядеть запрос который позволит сравнить вводимый Юзером пароль с паролями столбика password в таблице workers
Читайте про запрос SELECT
>2. Как вытащить остальные данные из этой строки?
Какой - этой?
Заодно неплохо понять, что Вы написали в теме. | |
|
|
|
|
|
|
|
для: Trianon
(01.11.2009 в 10:46)
| | to Trianon
если бы всё чётко работало после получения данных из справочников я бы не взывал о помощи здесь и не посягал бы на ваше драгоценное время ..
Возможно я изложил свою проблему не совсем понятно... - прошу прощения, я не Русский и живу не в России.. Попробую ещё раз .. попонятнее: вот что я имею
$dbhost = "localhost"; // Хост
$dbuser = "root"; // Имя пользователя
$dbpassword = "my_password"; // Пароль
$dbname = "my_db_project"; // Имя базы данных
if($_SERVER['REQUEST_METHOD']=='POST')
{
$pass=$_POST['pass']; // переменная pass которая приходит из формы после того как Юзер нажмёт Submit кнопку
$link = mysql_connect($dbhost, $dbuser, $dbpassword); // подключаюсь
$result = mysql_query('SELECT password FROM workers WHERE password = '.$pass)
or die(mysql_error()); // запрос, так как в книжке объясняют ... - заношу его в переменную result
|
... дальше стал в тупик
Как прочитать нужное мне поле password из таблицы workers где поле равно введённой Юзером переменной ?
нужно ли пользоваться массивом mysql_fetch_assoc($); чтобы вывести всего ОДНО поле?
Далее, насчёт "всего остального в этой строке" : имеется в виду ЭТА строка, в которой поле password ... которое я не могу прочитать. В этой же строке есть поле f_name и l_name.
Определив пассворд я, наверное, смогу знать id этой строки ..
В общем... вот такая проблема.
Повторяюсь снова: я новичок в PHP .. поэтому прошу не пинать больно. | |
|
|
|
|
|
|
|
для: Monk09
(02.11.2009 в 03:43)
| | >Определив пассворд я, наверное, смогу знать id этой строки ..
Вообще-то чтоб узнать id (уж коль скоро он вообще есть) проще написать так:
SELECT id FROM workers WHERE ... и т.д.
|
>В этой же строке есть поле f_name и l_name.
А чтобы определить и эти поля, соответственно
SELECT id, f_name, l_name FROM workers WHERE ... и т.д.
|
Правда, с и т.д. у Вас при таком подходе явно будут проблемы.
Перед тем, как выполнять этот запрос функцией mysql_query, Вам стоит его поглядеть глазами - он явно с синтаксическими изъянами.
$str_pass = "'".mysql_escape_string($pass)."'";
$sql = 'SELECT id, f_name, l_name FROM workers WHERE password = '.$str_pass;
$result = mysql_query($sql);
|
Чтобы вывести всего одно поле, можно воспользоваться функцией mysql_result(),
но даже с одним полем ничто не мешает добыть значение через mysql_fetch_assoc(),
если неохота учить лишнюю функцию для частного случая. | |
|
|
|
|
|
|
|
для: Trianon
(02.11.2009 в 09:11)
| | Спасибо большое!
Правильно составленный запрос решил проблему. | |
|
|
|