Данный 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 запросы.
PHP: https://github.com/rorystandley/MySQL-CRUD-PHP-OOP/blob/master/ajax/select.php
AJAX: https://github.com/rorystandley/MySQL-CRUD-PHP-OOP/blob/master/ajax_example.html