PostgreSQL и PHP: руковод для начинающих
Здравствуйте,野心勃勃的程序设计师们! Сегодня мы отправимся в увлекательное путешествие в мир PostgreSQL и PHP. Не волнуйтесь, если эти термины звучат для вас как инопланетные языки - к концу этого руководства вы будете свободно говорить на них!
Установка
Прежде чем окунуться в趣味ную часть,我们需要设置我们的工具。想象一下,就像在烹饪美味大餐之前准备厨房一样!
- Сначала установите PostgreSQL с официального сайта (postgresql.org).
- Затем установите PHP с php.net.
- Наконец, мы должны установить расширение PostgreSQL для PHP.
В Windows вы можете включить расширение, сняв комментарий со следующей строки в вашем файле php.ini:
extension=php_pgsql.dll
В системах на основе Unix вам может потребоваться установить пакет php-pgsql:
sudo apt-get install php-pgsql
PHP Interface APIs
PHP предоставляет два основных API для работы с PostgreSQL:
API | Описание |
---|---|
pgsql | Исходное расширение PostgreSQL |
PDO | PHP Data Objects, единообразный интерфейс для нескольких баз данных |
В этом руководстве мы сосредоточимся на расширении pgsql, так как оно более специфично для PostgreSQL и предлагает некоторые уникальные функции.
Подключение к базе данных
Теперь, когда мы все настроили, давайте подключимся к нашей базе данных! Это как стучать в дверь нашего дома с данными.
<?php
$host = "localhost";
$port = "5432";
$dbname = "mydb";
$user = "myuser";
$password = "mypassword";
$conn = pg_connect("host=$host port=$port dbname=$dbname user=$user password=$password");
if (!$conn) {
echo "Произошла ошибка.\n";
exit;
}
echo "Успешное подключение!\n";
?>
В этом коде мы используем функцию pg_connect()
, чтобы establish a connection. Мы предоставляем ему необходимые детали, такие как хост, порт, имя базы данных, имя пользователя и пароль. Если подключение прошло успешно, мы увидим友好ное сообщение "Успешное подключение!".
Создание таблицы
Теперь, когда мы внутри нашего дома с данными, давайте создадим таблицу - представьте это как создание полки для organizamos наших данных.
<?php
$query = "CREATE TABLE students (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INTEGER,
grade CHAR(1)
)";
$result = pg_query($conn, $query);
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
echo "Таблица успешно создана!\n";
?>
Здесь мы используем SQL для создания таблицы под названием "students". Тип SERIAL
для столбца id автоматически увеличивается для каждого нового входа - это как если бы у нас был робот, который нумерует каждую книгу для нас!
Операция INSERT
Пора добавить немного данных в нашу таблицу. Это как положить книги на только что созданную полку.
<?php
$query = "INSERT INTO students (name, age, grade) VALUES ($1, $2, $3)";
$result = pg_query_params($conn, $query, array('John Doe', 18, 'A'));
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
echo "Данные успешно вставлены!\n";
?>
Мы используем pg_query_params()
здесь, что позволяет нам использовать якоря ($1, $2, $3) в нашем запросе. Это более безопасный способ вставки данных, так как он помогает предотвратить атаки SQL-инъекции. Представьте это как охранника, который проверяет каждую книгу перед тем, как положить ее на полку!
Операция SELECT
Теперь давайте извлечем немного данных из нашей таблицы. Это как взять книгу с полки, чтобы почитать.
<?php
$query = "SELECT * FROM students";
$result = pg_query($conn, $query);
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
while ($row = pg_fetch_assoc($result)) {
echo "ID: " . $row['id'] . "\n";
echo "Name: " . $row['name'] . "\n";
echo "Age: " . $row['age'] . "\n";
echo "Grade: " . $row['grade'] . "\n\n";
}
?>
Здесь мы используем цикл while с pg_fetch_assoc()
для прохождения через каждую строку нашего результата. Это как листать страницы книги, читая каждую строку одну за другой.
Операция UPDATE
Иногда нам нужно изменить информацию в нашей таблице. Это как стереть и переписать часть нашей книги.
<?php
$query = "UPDATE students SET grade = $1 WHERE name = $2";
$result = pg_query_params($conn, $query, array('B', 'John Doe'));
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
echo "Данные успешно обновлены!\n";
?>
В этом примере мы обновляем оценку John Doe до B. Предложение WHERE
в нашем запросе как закладка, помогающая нам найти exactly где нам нужно внести изменения.
Операция DELETE
Наконец, иногда нам нужно удалить данные из нашей таблицы. Это как снять книгу с полки и положить ее в контейнер для переработки.
<?php
$query = "DELETE FROM students WHERE name = $1";
$result = pg_query_params($conn, $query, array('John Doe'));
if (!$result) {
echo "Произошла ошибка.\n";
exit;
}
echo "Данные успешно удалены!\n";
?>
Здесь мы удаляем запись для John Doe. Опять же, мы используем предложение WHERE
, чтобы specify exactly которую запись мы хотим удалить.
И вот и все! Вы только что научились основам работы с PostgreSQL с помощью PHP. Помните, что практика делает мастера, так что не бойтесь экспериментировать с этими командами. Before you know it, вы будете управлять базами данных как профессионал!
Счастливого кодирования, будущие маги баз данных!
Credits: Image by storyset