Articles of pdo

Создание базы данных и таблиц PDO

В настоящее время я борюсь с заданием. Я должен создать PHP-скрипт, который создаст базу данных и все таблицы для этой базы данных. Мне удалось собрать скрипт для создания самой базы данных из чтения здесь и W3Schools, однако я в тупике о том, как иметь тот же скрипт, который создает таблицы в этой новой базе данных. […]

Невозможно вставить данные в базу данных с помощью PDO

После дезинфекции и проверки, которая работает нормально. Я попытался вставить данные в свою базу данных, но он продолжает говорить об ошибке: «Извините, мы не смогли подписать вас … Заполните форму правильно» $qry = "INSERT INTO users (email, firstName, surname, userName, password, userDOB) values (?, ?, ?, ?, ?, ?)"; $q = $conn->prepare($qry) or die("ERROR: " […]

Вызов функции-члена prepare () Что случилось с этим? OOP

Хорошо, у меня есть этот класс (будет включать только заголовок и первую функцию). require_once("./inc/db.inc.php"); class Users { /** * Properties **/ private $insert; protected $user; protected $email; protected $get; protected $check; protected $generate; protected $drop; /** * PUBLIC function Register * * Registers the user to the system, checking for errors. * If error was […]

Ошибка pgsql 42601 с PDO :: execute

У меня проблемы с $ pdo-> execute ($ values). Он отлично работает, если я использую $pdo->execute() без $ values: $dsn = sprintf('%s:host=%s;port=%s;dbname=%s', DB_TYPE, DB_HOST, DB_PORT, DB_NAME); $pdo = new PDO($dsn, DB_USER, DB_PASS, array()); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = 'SELECT * FROM "user" ORDER BY id DESC LIMIT 50 OFFSET 0'; $stmt = $pdo->prepare(trim($sql)); $stmt->setFetchMode(PDO::FETCH_OBJ|PDO::FETCH_PROPS_LATE); $stmt->execute(); echo […]

Я не понимаю, почему у меня ошибка Statement :: execute ()?

У меня ошибка в моем коде, но я не нашел свою ошибку … Можете ли вы мне помочь? вот мой код: $updt=$connect->prepare("INSERT INTO utilisateurs VALUES ('',:nom, :prenom, :email, :identifiant, MD5(:mdp)"); $updt->execute(array('nom'=>$nom, 'prenom'=>$prenom, 'email'=>$email, 'identifiant'=>$identifiant, 'mdp'=>$motDePasse )); header('./gestion-utilisateur.php');</pre> И это ошибка: Warning: PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your […]

PDO Несколько запросов: транзакция фиксации и возврата

Мне нужно запустить 2 запроса. в настоящее время я делаю это так: // Begin Transaction $this->db->beginTransaction(); // Fire Queries if($query_one->execute()){ if($query_two->execute()){ // Commit only when both queries executed successfully $this->db->commit(); }else{ $this->db->rollback(); } }else{ $this->db->rollback(); } Это правильный подход? Я не использую какой-либо try..catch в своем коде, не сделает ли мой код неуместным или уязвимым […]

Несколько запросов / результатов (PDO / MySQL)

У меня есть форма, где люди могут отправлять любые и всевозможные запросы MySQL, и поскольку я сейчас перехожу из MySQLi в PDO, мне интересно, есть ли способ справиться с несколькими результатами запроса с использованием PDO. Итак, предположим, что пользователь отправляет следующее в метод запросов PDO через HTML-форму: SELECT * FROM `organisation`.`employee`; SELECT * FROM `organisation`.`salary`; […]

Альтернатива Singleton для PHP PDO

Это мой класс, который я использую для подключения к моей MySQL данных MySQL . Как вы можете видеть, я использую Singleton Pattern но почти каждый пост говорит, что это очень плохой шаблон. Каков наилучший подход для создания класса подключения к базе данных? Есть ли лучший образец? class DB extends PDO { function __construct() { try […]

Почему я не могу создать триггер с PDO?

Я пытаюсь автоматизировать процесс запуска, так что мне не нужно вручную создавать триггеры для каждой таблицы, которую я хочу использовать. К сожалению, я возвращаю сообщение об ошибке синтаксиса. Вот мой код $updateTrigger = "DROP TRIGGER IF EXISTS {$table}Update CREATE TRIGGER {$table}Update AFTER UPDATE ON $table FOR EACH ROW BEGIN DECLARE N DATETIME; SET N = […]

PDO lastInsertId () возвращает 0

Я искал, по другим вопросам, задавая то же самое, и не могу понять, почему мой запрос не будет действовать так, как должен. Мой запрос: $stmt = db()->prepare("INSERT INTO conversations (user1, user2) VALUES (?, ?)"); $stmt->execute(array($_SESSION['user']['userId'], $user)); echo db()->lastInsertId(); Когда я делаю это lastInsertId (); возвращает 0. Моя функция db (): function db() { $dsn = […]