я посмотрел код, хз кому как, но по моему это вынос мозга)
при переводе на PDO можно было раза в три уменьшить количество кода в файле launcher.php используя заранее подготовленные запросы в файле конфига
к тому-же после такого можно было бы точно знать где что расположено и наглядно улучшить читаемость кода
я где-то тут выкладывал переделанную панель добавления PEX через сайт в которой использовал PDO
вот немножко кода оттуда
PHP:
$dbhost = "localhost"; //ip БД
$database = "demo"; //имя базы данных
$dbuser = "test"; //юзер базы данных
$dbpass = "test"; //пароль БД
$permentiny = "permissions_entity"; //таблица префиксов
$permlist = "permlist"; //таблица со списком полномочий
/*Всё что ниже не трогать*/
$conn = new PDO("mysql:host=$dbhost;dbname=$database", $dbuser, $dbpass);
$conn->exec('SET CHARACTER SET utf8');
$conn->exec('SET NAMES utf8');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$plist_sel = $conn->prepare("SELECT * FROM `$permlist` ORDER BY `title`");//выборка полномочий
$group_create = $conn->prepare("INSERT INTO `$permentiny` (`name`, `prefix`, `suffix`) VALUES (?, ?, ?)");//добавление группы
$DBH = null;
вот кусок где используются эти же запросы
PHP:
include("connect.php");
$name = $_POST['name'];
$pref = $_POST['pref'];
$suff = $_POST['suff'];
if (empty($name)) {die ("Необходимо ввести название группы!");}
elseif (eregi("[^a-z0-9_]",$name)) {die ("Название группы не корректно!</br>Название может быть только из символов латиницы и цифер от 0 до 9");} //проверка на русские буквы в нике
else
{
$group_create->bindParam(1, $name);
$group_create->bindParam(2, $pref);
$group_create->bindParam(3, $suff);
try {$group_create->execute();}
catch(PDOException $e){echo 'Ошибка: ' . $e->getMessage();}
}
PHP:
$plist_sel->execute();
echo"<select id='perms'>\n";
while($row = $plist_sel->fetch()){
$perm = $row["permission"];
$perm_title = $row["title"];
echo"<option value='$perm'>".$perm_title."</option>\n";
}
echo"</select>\n";
не знаю как и кому, но для меня такой код весьма читабелен и в случае чего не прийдется искать ошибку где-то в нарнии
использование неименованых шаблонов в PDO оказалось для меня очень удобной возможностью