Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вывести из базы ТОЛЬКО ОДНО поле?
 
 автор: Monk09   (01.11.2009 в 09:50)   письмо автору
 
 

Я порылся в архивах и не нашёл примера Как вывести только одно поле из базы. Если просмотрел - прошу ткнуть носом и не пинать больно.
Условия: есть база данных MySQL. Одна из таблиц назвается[ b] workers[/b]. Внутри этой таблицы есть поле password. Всего в таблице около 1000 записей.
ПРи входе на страницу Юзер пишет Пароль который должен быть проверен со списком поля password.
Если такой пароль существует - заходи (Поздороваться по имени, которое занесено в поле f_name и фамилии l_name).

Вопрос:
1. как должен выглядеть запрос который позволит сравнить вводимый Юзером пароль с паролями столбика password в таблице workers
2. Как вытащить остальные данные из этой строки?

Возможно кому-то моя проблема может показаться детским садиком, но ... не могу справиться. Если можно помогите пожалуйста. Чем подробнее тем лучше, если можно построчным кодом.

Подключаться к базе я уже научился (эту часть можно пропустить).. )) а вот читать из неё ещё нет.

Заранее благодарю.

  Ответить  
 
 автор: Trianon   (01.11.2009 в 10:46)   письмо автору
 
   для: Monk09   (01.11.2009 в 09:50)
 

>1. как должен выглядеть запрос который позволит сравнить вводимый Юзером пароль с паролями столбика password в таблице workers

Читайте про запрос SELECT

>2. Как вытащить остальные данные из этой строки?

Какой - этой?

Заодно неплохо понять, что Вы написали в теме.

  Ответить  
 
 автор: Monk09   (02.11.2009 в 03:43)   письмо автору
 
   для: 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 где поле
password
равно введённой Юзером переменной
$pass
?

нужно ли пользоваться массивом mysql_fetch_assoc($); чтобы вывести всего ОДНО поле?

Далее, насчёт "всего остального в этой строке" : имеется в виду ЭТА строка, в которой поле password ... которое я не могу прочитать. В этой же строке есть поле f_name и l_name.
Определив пассворд я, наверное, смогу знать id этой строки ..

В общем... вот такая проблема.

Повторяюсь снова: я новичок в PHP .. поэтому прошу не пинать больно.

  Ответить  
 
 автор: Trianon   (02.11.2009 в 09:11)   письмо автору
 
   для: 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(),
если неохота учить лишнюю функцию для частного случая.

  Ответить  
 
 автор: Monk09   (02.11.2009 в 11:06)   письмо автору
 
   для: Trianon   (02.11.2009 в 09:11)
 

Спасибо большое!
Правильно составленный запрос решил проблему.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования