PHP MYSQL PDO CRUD класс

· PHP и Блог · 3 мин чтения

Данный PHP класс позволяет в удобной форме, брать, удалять, изменять, добавлять данные в базу данных, а так же многие другие функции. Я сам лично его использую и я скажу, что это очень удобный класс.

Ссылка на GitHub: https://github.com/rorystandley/MySQL-CRUD-PHP-OOP

Как начать использовать данный класс:
Для начала нужно изменить некоторые данные в самом классе. Например ввести данные для подключения к базе данных.

Данные для изменения

private $db_host = "localhost";  // Изменить как нужно
private $db_user = "логин";  // Изменить как нужно
private $db_pass = "пароль";  // Изменить как нужно
private $db_name = "название_базы";  // Изменить как нужно

Тестирование

CREATE TABLE IF NOT EXISTS CRUDClass (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) NOT NULL,
  email varchar(255) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO CRUDClass VALUES('','Name 1','name1@email.com');
INSERT INTO CRUDClass VALUES('','Name 2','name2@email.com');
INSERT INTO CRUDClass VALUES('','Name 3','name3@email.com');

Пример SELECT

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->select('CRUDClass'); // Название таблицы
$res = $db->getResult(); // Получение результата
print_r($res); // Показывает данные из базы

Для того, чтобы запросить что-то конкретное из базы данных, используйте код ниже:

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->select('CRUDClass','id, name','name="Name 1"','id DESC'); // Имя таблицы, Имя колонки, WHERE кондиции, ORDER BY кондиции
$res = $db->getResult();
print_r($res);

Пример JOIN

Начнем с того, что нужно создать вторую таблицу в базе:

CREATE TABLE IF NOT EXISTS CRUDClassChild (
  id int(11) NOT NULL AUTO_INCREMENT,
  parentId int(11) NOT NULL,
  name varchar(255) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO CRUDClassChild VALUES('','1','Child 1');
INSERT INTO CRUDClassChild VALUES('','1','Child 2');
INSERT INTO CRUDClassChild VALUES('','2','Child 1');

Используйте код ниже, чтобы выбрать строки из таблицы с помощью JOIN функции:

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->select('CRUDClass','CRUDClass.id,CRUDClass.name,CRUDClassChild.name','CRUDClassChild ON CRUDClass.id = parentId','CRUDClass.name="Name 1"','id DESC'); // Имя таблицы, Имя колонки, JOIN, WHERE кондиции, ORDER BY кондиции
$res = $db->getResult();
print_r($res);

Пример UPDATE

Данная функция позволяет обновить уже существующие данные в таблице.

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->update('CRUDClass',array('name'=>"Name 4",'email'=> "name4@email.com"),'id="1" AND name="Name 1"'); // Имя таблицы, имя колонки и значения, WHERE кондиции
$res = $db->getResult();
print_r($res);

Пример INSERT

Данная функция позволяет внести данные в нужную таблицу.

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$data = $db->escapeString("name5@email.com"); // Escape any input before insert
$db->insert('CRUDClass',array('name'=>'Name 5','email'=>$data));  // Имя таблицы, имя колонки и значения
$res = $db->getResult();
print_r($res);

Пример DELETE

Данная функция позволяет удалить данные из нужной вам таблицы.

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->delete('CRUDClass','id=5');  // Имя таблицы, WHERE кондиции
$res = $db->getResult();
print_r($res);

Пример полного SQL запроса

Данная функция позволяет выполнять полноценные SQL запросы через этот класс.

<?php
include 'class/mysql_crud.php';
$db = new Database();
$db->connect();
$db->sql('SELECT id,name FROM CRUDClass');
$res = $db->getResult();
foreach($res as $output){
    echo $output["name"]."<br />";
}

AJAX версия

Данный скрипт так же может выполнять AJAX запросы.

PHPhttps://github.com/rorystandley/MySQL-CRUD-PHP-OOP/blob/master/ajax/select.php

AJAXhttps://github.com/rorystandley/MySQL-CRUD-PHP-OOP/blob/master/ajax_example.html