Articles of pdo

Использование PDO в PHP

Я нахожу здесь много вопросов относительно MySQL и разработки запросов, и первое, что мы всегда говорим им, это «Не использовать функции mysql_ * – они устарели». Поэтому я подумал, что добавлю краткое руководство по настройке подключения PDO в вашей PHP-программе, чтобы мы могли ссылаться на новых разработчиков PHP здесь и помогать сделать их программы более […]

Должен ли я проверить возвращаемое значение операции выполнения в pdo php

Некоторое время я работаю над системой регистрации. Данные, взаимодействующие с db, довольно чувствительны, поэтому я стараюсь уделять особое внимание деталям. Это пример того, как я вставляю. try{ $query="INSERT INTO account (user_id,password,salt) VALUES (:user_id,:password,:salt)"; $stmt=$db->prepare($query); $params=array(':user_id'=>$userId,':password'=>$password,':salt'=>$salt); $result=$stmt->execute($params); if(!$result){ $db->rollBack(); doStaff(); } } catch(PDOException $e){ $db->rollBack(); doStaff(); } Мне было интересно, есть ли какой-либо сценарий, что результат […]

PDO возвращает результаты в массив

Так что я топчу головой о стену над вопросом, который, скорее всего, имеет простое решение. Вот мой код. public function login($username, $password){ $sql = "SELECT * FROM users WHERE username = :user AND password = :pass"; $stmt = $this->pdo->prepare($sql); $data = array('user' => $username, 'pass' => md5($password . $this->salt)); $stmt->execute($data); $status = $stmt->fetchColumn(); if($status){ echo […]

будет ли ложный возвращенный PDO execute () таким же, как исключение, которое оно выбрало?

В соответствии с просьбой я переформатирую вопрос: Для следующего кода: $newPDO=new PDO($DSN,$USER,$PASS); $newPDO->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $SQL='SOME SQL STATEMENT MAYBE FAULTY'; try{ $Query=$newPDO->Prepare($SQL) $Success=$Query->execute(); if(!$Success) echo('A'); } catch(PDOException $e) { echo('B'); } Вопрос в том, можно ли напечатать «А»? Будет ли ответ отличаться для разных типов $SQL например select или insert? Оригинальный вопрос: Сначала я устанавливаю атрибут PDO […]

Как передать соединение БД другому классу?

В настоящее время я пытаюсь передать соединение с БД следующим образом: class Test { public $user; public $db; function __construct() { // connect to database try { $this->db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_DATABASE.'', DB_USERNAME, DB_PASSWORD); $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $err) { die($err->getMessage()); } $this->user = new User($this->db); } } class User { public $db; function __construct($db) { […]

Как я могу вернуть LastInsertID из PDO при использовании метода класса

Я создал небольшой класс, который обрабатывает мои запросы MySql. Тем не менее, теперь я пытаюсь получить значение последнего вставленного id, но для меня это не wokring если мой метод processQuery в классе я делаю инструкцию подготовки с любым запросом типа insert / update / remove Я добавил эту строку $ this-> lastInsertId = $ this-> […]

Соединение DEBUG PDO и выход PHP

Я пытаюсь подключиться к mySQL с помощью PDO. Пожалуйста, простите меня, если я сделал вопиющую ошибку – я просто утомляюсь … <?php try { $db_conn = new PDO('mysql:host=localhost;dbname=testdatabase','test', 'testpass'); } catch (PDOException $e) { echo 'Could not connect to database'; } $stmt = $db_conn->query('SELECT * FROM PRODUCTS'); while ($row = $stmt->fetch() ) { echo '<pre>'; […]

Специальные символы и двойные кавычки в PHP

У меня такая ценность в столбце db, Судья-Fürstová Mila "Ut enim ad minim veniam" Я использую PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" для обработки всех моих специальных символов, class database_pdo { # database handler protected $connection = null; # make a connection public function __construct($dsn,$username,$password) { try { $this->connection = new PDO($dsn, $username, $password, array(PDO::MYSQL_ATTR_INIT_COMMAND => […]

PHP: защита от инъекций с использованием подготовленных операторов

Я знаком с использованием PHP для выполнения запросов mySQL. Тем не менее, я использую reg exps как защиту от инъекций. После прочтения нескольких вопросов / ответов здесь, на SO, я решил выбрать готовые заявления. Доступны два варианта (дайте мне знать, если их больше): mysqli подготовил заявления PDO подготовил штаны Вопрос 1 Я пытаюсь понять примеры […]

Объединение двух SQL-запросов PDO

Я совершенно застрял в следующем вопросе. У меня есть серия таблиц: Я хочу получить всю информацию о комнате, предполагая, что количество заказов не превышает номер комнаты, доступный для этой комнаты. Итак, чтобы получить информацию о моем номере, мой SQL: SELECT Rooms.RoomID as RoomID, RoomName, NumOfRooms, MaxPeopleExistingBeds, MaxExtraBeds, MaxExtraPeople, CostPerExtraPerson, MaximumFreeChildren, IncludeBreakfast, MinRate FROM Rooms, RoomDetails […]