PostgreSQL и PHP: руковод для начинающих

Здравствуйте,野心勃勃的程序设计师们! Сегодня мы отправимся в увлекательное путешествие в мир PostgreSQL и PHP. Не волнуйтесь, если эти термины звучат для вас как инопланетные языки - к концу этого руководства вы будете свободно говорить на них!

PostgreSQL - PHP

Установка

Прежде чем окунуться в趣味ную часть,我们需要设置我们的工具。想象一下,就像在烹饪美味大餐之前准备厨房一样!

  1. Сначала установите PostgreSQL с официального сайта (postgresql.org).
  2. Затем установите PHP с php.net.
  3. Наконец, мы должны установить расширение 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