Прежде, чем начать работу с базой данных, необходимо создать соединение с сервером MySQL. Этим и занимается функция mysql_connect(). Она должна быть вызвана до каких-либо других функций работы с MySQL, в противном случае они возвратят ошибки.
Вторым шагом при работе с MySQL чаще всего становится выбор базы данных для дальнейшей работы, либо создание новой базы данных.
Создание базы данных осуществляет функция mysql_create_db().
mysql_create_db(имя базы данных, [идентификатор соединения]);
Идентификатор соединения есть результат выполнения функции mysql_connect или mysql_pconnect.
Для дальшейшей работы с базой данных вы должны ее выбрать. Выбор базы данных осуществляется функцией mysql_select_db(). Ее синтаксис выглядит следующим образом:
mysql_select_db(имя базы данных, [идентификатор соединения]);
Пожалуй, самая универсальная функция для работы с MySQL - mysql_query(). Она может заменить практически любую функцию работы с базами данных MySQL, исключая mysql_connect() и mysql_close().
В качестве одного из аргументов ей передается запрос MySQL - наподобие тех, которыми мы занимались на прошлом занятии.
|
|
Например, с помощью нее мы можем создать базу данных, не используя вышерассмотренную функцию mysql_create_db().
$link = mysql_connect('somehost.ru', 'artem', '123456') or die("Не могу соединиться");
mysql_query("CREATE database my_db", $link) or die("Ошибка запроса");
Чтобы извлечь информацию в понятную нам форму, необходимо воспользоваться функциями mysql_fetch_array(), mysql_fetch_row() или другими более специфическими функциями.
Функция mysql_fetch_array(), использованная в примере выше, осуществляет выборку записи в виде ассоциативного массива. Заметьте, эта функция, как и другие функции извлечения информации, не работает непосредственно с MySQL, а лишь обрабатывает полученный результат, поэтому ссылка на идентификатор соединения для работы этой функцией не требуется. Ее обязательный аргумент - лишь идентификатор результата, полученный функцией mysql_query().
За каждый раз своего выполения эта функция обрабатывает лишь одну строку результата, тем самым, чтобы получить данные из всего результата выполнения mysql_query, необходимо использовать функцию в цикле.
$result = mysql_query("SELECT id, title FROM lessons", $link);
$first_row = mysql_fetch_array($result);
echo "Первая запись:<br>".$first_row['id']." - ".$first_row['title']."<br>";
echo "Остальные записи:<br>";
while ($row = mysql_fetch_array($result)) {
echo $row['id']." - ".$row['title'].'<br>';
}