Обучение/Помощь новичкам | Ищу ядро игры на mysql для обучения pdo
Подкиньте хорошое ядро для перевода на PDO. За помощь + в репу
Sacrifice justice , http://bym.guru/downloads/list_files.php?action=search&directory_id=133&search_word=%D1%8F%D0%B4%D1%80%D0%BE
DELETED
2 августа 2017, в 13:20
Delete
<?php
// Подключение к БД
try {
$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
exit($e->getMessage());
}
// Пользовательская переопределённая функция выборки ссоциативного массива - аналог mysql_fetch_assoc
function assoc($sql, $array = [])
{
global $pdo;
$sql = $pdo->prepare($sql);
$sql->execute($array);
return $sql->fetch();
}
$id = 1;// например id пользователя - 1
// пример использования с неименованными параметрами
$user = assoc('SELECT * FROM `users` WHERE `id` = ? LIMIT 1', [$id]);
// пример использования с именованными параметрами
$user = assoc('SELECT * FROM `users` WHERE `id` = :id LIMIT 1', [':id' => $id]);// имена параметров можно задавать свои
// Пользовательская переопределённая функция подсчёта строк - аналог mysql_num_rows
function rows($sql, $array = [])
{
global $pdo;
$sql = $pdo->prepare($sql);
$sql->execute($array);
return $sql->fetchColumn();
}
// пример использования - подсчёт всех юзеров
$num = rows('SELECT count(*) FROM `users`', []);
// Пользовательская переопределённая функция внесения изменений в БД - аналог mysql_query
function query($sql, $array = [])
{
global $pdo;
$sql = $pdo->prepare($sql);
$sql->execute($array);
return $sql;
}
// пример использования - вставка строки
$_POST['login'] = 'login';
$_POST['password'] = 'password';
$_POST['email'] = 'email';
// пример использования с неименованными параметрами
query('INSERT INTO `users` SET `login` = ?, `password` = ?, `email` = ?', [$_POST['login'], $_POST['password'], $_POST['email']]);
// пример использования с именованными параметрами
query('INSERT INTO `users` SET `login` = :ln, `password` = :pd, `email` = :el', [':ln' => $_POST['login'], ':pd' => $_POST['password'], ':el' => $_POST['email']]);// имена параметров можно задавать свои
// пример использования - изменение данных
$_POST['newlogin'] = 'newlogin';
$_POST['newpassword'] = 'newpassword';
$_POST['newemail'] = 'newemail';
// пример использования с неименованными параметрами
query('UPDATE `users` SET `login` = ?, `password` = ?, `email` = ? WHERE `id` = ? LIMIT 1', [$_POST['newlogin'], $_POST['newpassword'], $_POST['newemail'], $id]);
// пример использования с именованными параметрами
query('UPDATE `users` SET `login` = :ln, `password` = :pd, `email` = :el WHERE `id` = :id LIMIT 1', [':ln' => $_POST['newlogin'], ':pd' => $_POST['newpassword'], ':el' => $_POST['newemail'], ':id' => $id]);// имена параметров можно задавать свои
// пример использования в цикле while
$data = query('SELECT * FROM `users`', []);
while ($user = $data->fetch()) {// вывод всех логинов пользователей
echo $user['login'] . '<br>';
}
________
посл. ред. 02.08.2017 в 13:20; всего 1 раз(а); by PhpStorm