ВНИМАНИЕ! Конкурс по программированию!

Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.

 
Информация к новости
 (голосов: 0)

SQL - запросы и их обработка с помощью PHP (часть II)

Категория: WEB-программирование » PHP и MySQL » Уроки PHP

Разберем PHP-код файла firstsql.php. Начнем с собственно запроса к таблицам базы данных (БД).

  
   $query = "SELECT * FROM `my_sql_table`";

Данный запрос можно расшифровать так: выбрать из таблицы my_sql_table БД все записи из всех полей. Таким образом знак * после слова SELECT означает "выбрать абсолютно все". Итак, запрос сформирован. Теперь его надо выполнить:

   $res = mysql_query($query); 

В случае успешного выполнения запроса функция mysql_query() вернет нам идентификатор ресурса $res.

Его мы должны передать в качестве параметра в функцию mysql_fetch_array(). Название этой функции говорит само за себя. Т.е. она формирует и выдает массив по выборке из таблицы БД. В случае нашей таблицы массив будет состоять из числа элементов, равных количествам записей (строк) в таблице и содержать значения id, firstname, surname для каждой строки таблицы. Следовательно, следующий код:

 
   while($row = mysql_fetch_array($res))
  {
   echo "Номер: ".$row["id"]."<br>
";
   echo "Имя:".$row["firstname"]."<br>
";
   echo "Фамилия:".$row["surname"]."<br><hr>
";
  }

можно прокомментировать так: пока введенная нами переменная $row получает не нулевые результаты работы функции mysql_fetch_row следует выдать в броузер значение полей $row["id"], $row["firstname"], $row["surname"] с помощью echo.

Если запрос выполнить так:

  
   $query = "SELECT firstname FROM `my_sql_table`";

то это будет означать, что из всех строк выбирается только значения поля firstname.

Следовательно предыдущий код следует переписать как:

   
   $res = mysql_query($query);
   
   while($row = mysql_fetch_array($res))
  {
   echo "Имя:".$row["firstname"]."<br>
";
  }

Если Вы хотите выбрать строки таблицы с конкретным значением id где фамилия (surname) будет Петров, то запрос перепишется следующим образом:

   $query = "SELECT id FROM `my_sql_table` where surname="Петров"";

А вот если потребуется узнать фамилию того, кто находится под номером, к примеру, 5, то запрос будет таким:

   $query = "SELECT surname FROM `my_sql_table` where id=5";

В этом случае Вы знаете, что результатом запроса будет всего одна строка из таблицы. Т.е. нет смысла организовывать цикл с использованием while. И обработка запроса будет следующей

  $res = mysql_query($query);
  
   $row = mysql_fetch_row($res);
 
   echo "Фамилия пятого человека в списке: ".$row[0]." ";

Здесь вместо mysql_fetch_array() мы применили mysql_fetch_row(). Т.е. получить значение поля (или полей) конкретной строки. Поскольку поле у нас было одно -  surname - мы можем обратиться к единственному элементу массива $row как $row[0];.

Далее мы не будем столь подробно останавливаться на обработке запросов, а будем рассматривать наиболее типичные примеры собственно запросов.


Источник: web-brodilka.ru
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите два слова, показанных на изображении: *