Учимся работать с MySQL
Ну что же, раз со SQL–запросами мы познакомились, то самое время научиться использовать MySQL в PHP.
Для использования MySQL Вам будут нужны следующие данные: название хоста, базы, имя пользователя и пароль.
Название базы, имя пользователя и пароль Вам сообщит хостер, а название хоста в подавляющем большинстве является “localhost”.
Для начала познакомимся с функциями PHP для работы с MySQL, а потом напишем простую программу, которая создаст таблицу с данными, введёт в нее пару строчек и выведет её.
mysql_connect ($host, $user, $pass) — функция для подключения к MySQL. $host, $user и $pass — название хоста, имя пользователя и пароль соответственно. Функция возвращает объект подключения, который используется в дальнейшем, так что для полключения используется строчка примерно такого вида:
$connect = mysql_connect ($host, $user, $pass)
mysql_select_db ($base, $connect) — функция для выбора конкретной базы для использования. $base — название базы, а $connect — объект подключения.
mysql_query ($sql_query) — функция для выполнения SQL–запроса над базой данных. При использовании запроса выбора данных (SELECT) возвращает результат запроса для последующей обработки. Используется примерно так:
$q = mysql_query ($sql_query);
mysql_fetch_array ($query) — функция, возвращающая массив одной из полученных записей в результате SQL–запроса. В этом массиве ключами являются названия колонок, а значения являются значениями в конкретном полученном ряду таблицы.
Если запрос подразумевает получение более одного ряда таблицы, то используется такая кодовая конструкция:
while ($r = mysql_fetch_array ($q))
{
// здесь инструкции по выводу или иному использованию
// результатов запроса
// $r ['column1'] возвращает значение на пересечении
// данного ряда и колонки column1
}
mysql_close ($connect) – закрывает подключение к серверу MySQL.
Ну а теперь напишем обещанную простенькую программу по использованию MySQL.
<?php
// настройки подключения
$host = “localhost”; // хост
$user = “root”; // пользователь
$pass = “”; // пароль
$base = “test”; // название базы$connect = mysql_connect ($host, $user, $pass); // устанавливаем подключение
mysql_select_db ($base, $connect); // выбираем используемую базу данныхmysql_query (“CREATE TABLE users (id INT (11) NOT NULL AUTO_INCREMENT, name VARCHAR (30) NOT NULL, PRIMARY KEY (id));”); // создаём таблицу
mysql_query (“INSERT INTO users (name) VALUES (‘Admin’);”); // вносим в таблицу несколько записей (рядов)
mysql_query (“INSERT INTO users (name) VALUES (‘Supermoderator’);”);
mysql_query (“INSERT INTO users (name) VALUES (‘Moderator1′);”);
mysql_query (“INSERT INTO users (name) VALUES (‘Moderator2′);”);$q = mysql_query (“SELECT * FROM users”); // запрашиваем все данные таблицы users
// и выводим их в виде таблицы
echo “<table>\r\n;”;
while ($r = mysql_fetch_array ($q))
{
echo “<tr><td>” . $r ['id'] . “</td><td>” . $r ['name'] . “</td></tr>\r\n”;
}
echo “</table>”;
?>
Надеюсь, эта статья сподвигнет Вас на дальнейшее изучение MySQL, что будет (Вам) только на руку. Мой совет — чаще старайтесь использовать полученные знания на практике, и тогда через некоторое время Вы научитесь создавать высокоэффективные web–приложения с использованием MySQL.

января 19, 2009 at 01:21
Надо только обратить внимание, что в реальных приложениях доступ к базе должен происходить от непривилегированного пользователя (не root’а) с минимальными необхомимыми привилегиями, а какждый запрос надо проверять – лучше сразу приобрести хорошую привычку, чем потом долго избавляться от плохой.
марта 6, 2010 at 02:33
а вот это что?
$q – ?
и вот это echo \r\n;”;
да и про точки с запятыми, и скобками там тоже как-то правильно надо ставить?
марта 20, 2010 at 18:44
Хочу ещё добавить, что в новых версиях MySQL запрос по типу:
mysql_query (“INSERT INTO users (name) VALUES (‘Admin’);”); // вносим в таблицу несколько записей (рядов)
не прокатит. Нужно писать названия таблиц и полей, заключая их в косые ковычки ` (имею ввиду ту ковычку, которая на клавише “Ё”) и значения VALUES в одинарные. То есть так:
mysql_query (“INSERT INTO `users` (`name`) VALUES (‘Admin’);”); // вносим в таблицу несколько записей (рядов)
К этому тоже лучше сразу привыкать.
Добавить комментарий
Вы должны войти