Учебник SQL - Первая программа PHP и MySQL
В этом примере мы создадим программу, которая полностью поддерживает минималистическую демонстрационную базу данных.
Тогда мы пойдем :
- Инициализация системы.
- Создать новую базу данных.
- Создать таблицу в этой базе.
- Добавить статьи.
- Прочитать статью.
- Удалить статью.
- Закройте соединение.
Инициализация системы
На взаимном сервере
Интерфейс администрирования позволяет автоматически создавать базу данных. Вам предоставляется следующая информация:
Nom du serveur: quelque chose comme mysql-5-1
Nom de la base de donnée: nom choisi par vous.
Nom d'utilisateur: même nom que la base de donnée.
Mot de passe utilisateur et base de données.
А для подключения к серверу будет использоваться команда в виде:
$connexion = mysqli_connect('mysql5-1', 'user', 'pass', 'base')
первым параметром является имя сервера.
Локально в командной
строке:Вход в каталог mysql/bin (который может содержаться на локальном сервере).
mysqld-nt -u user -h server -p name
Или аналогичный исполняемый файл, поставляемый в вашей конфигурации .
Слокальным сервером (XAMPP, Easyphp)
Просто войдите с именем пользователя root.
$connexion = mysqli_connect('localhost', 'root');
Этот пользователь не нуждается в пароле.
Подключение позволяет подготовить к созданию базы данных и является обязательным для любой операции на этой базе данных.
Для другого пользователя, кроме root, необходимо будет указать пароль, после чего команда будет иметь с локальным сервером форму:
$connexion = mysqli_connect('localhost', 'root', 'passe');
Создание базы данных
В PHP используется функция mysql_query для отправки команды CREATE DATABASE на сервер, за которым следует имя базы данных.
Итак, с такой командой:
$command = 'CREATE DATABASE mabase';
$results = mysqli_query($connexion, $command);
Переменная $ connection назначается командой предыдущего абзаца подключения к базе данных.
Запуск phpMyAdmin в меню локального сервера или в панели администрирования хостинга теперь должен иметь имя mabase в списке баз данных.
Другие базы, которые уже были созданы системой, можно игнорировать.
Выбор базы данных
Поскольку сервер может предложить несколько баз данных, использование после подключения к серверу требует предварительного выбора базы данных, что выполняется с помощью этой команды:
mysqli_select_db($connexion, 'mabase');
По умолчанию будет использоваться последняя открытая база.
Создание таблицы
Мы хотим управлять агентством недвижимости, и поэтому у нас есть список квартир, в разных городах, и для каждого собственник и адрес, а также неизменная ценность.
Список строк, это квартиры и в столбцах мы поставим данные для каждой: код, имя, адрес, значение.
Квартира | Имя | Город | Ценность |
---|---|---|---|
1 | Пэлтроу | Голливуд | 12.000 |
2 | Турман | Лос-Анджелес | 34.000 |
3 | Юханссон | Майами | 28.000 |
Создание новой таблицы происходит с помощью команды SQL CREATE TABLE (СОЗДАТЬ ТАБЛИЦУ), которая в качестве параметра имеет имена столбцов (в случае квартиры, имени, города, значения), за которыми следует формат данных.
Когда в формате, мы будем использовать целое число для номера квартиры, и для стоимости. Для имен и городов строки с фиксированным размером сделают доступ быстрее, в то время как для такой статьи, как сообщение в блоге, был бы использован текст с переменным размером.
В качестве первичного ключа определим код квартиры.
Это дает следующую команду SQL для таблицы дома:
CREATE TABLE maisons (appartement INTEGER(3), nom CHAR(30),
ville CHAR(50), valeur INTEGER(9), PRIMARY KEY(appartement))
Определение типа содержит максимальное количество символов или цифр в скобках. Поэтому строка не более 30 символов пишется CHAR (30).
Для передачи этой команды на PHP снова используется функция mysql_query:
$command="CREATE TABLE( etc...)";
$result = mysqli_query($connexion, $command);
Теперь запустить phpMyAdmin и заглянуть в базу mabase.
В меню слева под названием базы появляются дома, щелкните их, чтобы увидеть детали полей:
Обратите внимание, что первичный ключ подчеркнут и что это поле не может быть нулевым, поскольку это первичный ключ.
Вставить элементы в таблицу
Команда SQL INSERT INTO позволяет добавлять строки в таблицу. Формат выглядит следующим образом:
INSERT INTO nomtable(...liste colonnes...) VALUES(...liste valeurs...)
Значения соответствуют столбцам.
Для нашего примера первую строку таблицы можно добавить с помощью команды:
INSERT INTO maisons(appartement, nom, ville, valeur)
VALUES(1, 'Paltrow', 'Hollywood', 12000)
Обратите внимание, что текстовые поля заключены в кавычки, в отличие от чисел.
После добавления всех трех строк вернитесь в phpMyAdmin, щелкните имя таблицы и щелкните вид. Посмотрите вниз, у вас должна быть эта таблица:
Прочитать содержимое статьи в базе
Команда SELECT является наиболее развитой функцией в SQL, но в этой вводной главе будет использоваться только самая базовая функция. Чтобы прочитать поле в таблице, даем условие, например номер квартиры. Мы могли бы исследовать другие поля, конечно.
SELECT * FROM nomtable WHERE condition
Команда mysql_query в данном случае возвращает номер ресурса, в то время как она возвращает значение true, когда операция выполняется успешно в остальных случаях. Если запрос не удается, он возвращает false во всех случаях.
PHP-код будет выглядеть следующим образом:
$command="SELECT * FROM maisons WHERE appartement = 2";
$result = mysqli_query($connexion, $command);
Затем для восстановления строки с помощью функции PHP mysql_fetch_row, которая возвращает массив, необходимо использовать номер ресурса, назначенный $ resut:
mysqli_fetch_row($results)
Операция должна показать содержимое таблицы, соответствующее второй строке таблицы.
Удалить деталь
Это делается с условием, схожим с условием чтения, и с командой DELETE:
DELETE FROM nomtable WHERE condition
В PHP:
$command = "DELETE FROM maisons WHERE appartement = 3";
mysqli_query($connexion, $command);
Проверьте с помощью phpMyAdmin и команды show, что третья строка удалена.
Закрыть соединение
Это происходит автоматически в конце сценария или при вызове функции mysql_close:
mysqli_close($connexion);
Заключение
Для использования SQL с PHP мы использовали следующие функции:
- mysqli_connect: подключение .
- mysqli_select_db: выберите базу .
- mysqli_query: размещение заказа .
- mysqli_fetch_row: получение строки из таблицы по номеру ресурса.
- mysqli_error: знать сообщения о возможных ошибках.
- mysqli_close: закрыть соединение .
Остальное - в синтаксисе языка SQL.
Источники программ
Изменить расширение на PHP для выполнения сценариев или загрузить SQL исходники на PHP/MySQL.