1. Go to this page and download the library: Download krugozor-old/database library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
krugozor-old / database example snippets
// Раньше перед каждым запросом в СУБД мы делали
// примерно это (а многие и до сих пор `это` не делают):
$id = (int) $_POST['id'];
$value = mysql_real_escape_string($_POST['value'], $link);
$result = mysql_query("SELECT * FROM `t` WHERE `f1` = '$value' AND `f2` = $id", $link);
$db->query("SELECT ?i", 123);
$db->query("SELECT ?i", '123');
$db->query("SELECT ?i", '123.7');
// устанавливаем строгий режим работы
$db->setTypeMode(Mysql::MODE_STRICT);
// это выражение не будет исполнено, будет выброшено исключение:
// Попытка указать для заполнителя типа int значение типа double в шаблоне запроса SELECT ?i
$db->query('SELECT ?i', 55.5);
$db->query('SELECT * FROM `users` WHERE `id` = ?i', $value);
$db->query('SELECT * FROM `prices` WHERE `cost` = ?d', $value);
$db->query('SELECT "?s"', "Вы все пидарасы, а я - Д'Артаньян!");
$db->query('SELECT "?S"', '% _');
$db->query('SELECT ?n', 123);
$db->query('INSERT INTO `test` SET ?Ai', ['first' => 123, 'second' => 1.99]);
$db->query('SELECT * FROM `test` WHERE `id` IN (?ai)', [123, 1.99]);
$db->query('INSERT INTO `test` SET ?A[?i, "?s"]', ['first' => 1.3, 'second' => "Д'Артаньян"]);
$db->query('SELECT * FROM `test` WHERE `value` IN (?a[?i, "?s"])', [1.3, "Д'Артаньян"]);
$db->query('SELECT ?f FROM ?f', 'name', 'database.table_name');
// Создаем таблицу пользователей с полями:
// Первичный ключ, имя пользователя, возраст, адрес
$db->query('
CREATE TABLE IF NOT EXISTS users(
id int unsigned not null primary key auto_increment,
name varchar(255),
age tinyint,
adress varchar(255)
)
');
$user = array('name' => 'Пётр', 'age' => '30', 'adress' => "ООО 'Рога и Копыта'");
$db->query('INSERT INTO `users` SET ?As', $user);
$user = array('name' => "Д'Артаньян", 'age' => '19', 'adress' => 'замок Кастельмор');
$db->query('INSERT INTO `users` SET ?A["?s", ?i, "?s"]', $user);
$db->query('SELECT * FROM `users` WHERE `id` = ?i', '1.00');
$db->query(
'SELECT id, adress FROM `users` WHERE `name` IN (?a["?s", "?s", "?s"])',
array('Василий', 'Иван', "Д'Артаньян")
);
$db->query(
'SELECT * FROM ?f WHERE ?f IN (?as) OR `id` IN (?ai)',
'.users', '.users.name', array('Василий'), array('2', 3.000)
);
$sql = 'SELECT * FROM `users` WHERE `name` = "?s" OR `name` = "?s"';
$arguments[] = "Василий";
$arguments[] = "Д'Артаньян";
$result = $db->queryArguments($sql, $arguments);
// Получим количество рядов в результате
$result->getNumRows(); // 2
if ($db->query("INSERT INTO `users` VALUES (?n, '?s', '?i', '?s')", null, 'тест', '10', 'тест')) {
echo $db->getLastInsertId(); // последнее значение автоинкрементного поля
echo $db->getAffectedRows(); // количество задействованных рядов
}
// Получить все...
$res = $db->query('SELECT * FROM users');
// Последовательно получать в виде ассоциативных массивов
while (($data = $res->fetchAssoc()) !== null) {
print_r($data);
}