Articles of подготовленный заявление

Динамическое изменение имени столбца в инструкции PDO

Возможно ли передать имя столбца в качестве параметра в подготовленное заявление MySQL? Возьмем следующий пример: UPDATE Images SET :placement = :imageURL WHERE ID = :titleID; PDO добавляет ' вокруг каждого параметра, поэтому средняя линия выше: SET 'Homepage' = '1.jpg' Какой MySQL не нравится. Есть ли способ включить параметры для имен полей в заявлениях PDO и […]

Со стороны сервера поддержки подготовлены инструкции с PDO?

Учитывая что-то вроде DB()->prepare("SELECT * FROM mysql.general_log WHERE user_host LIKE ?"); $statement->execute( array('%console%') ); foreach($statement as $record){ var_dump($record); } Содержание general_log *************************** 1. row *************************** event_time: 2011-04-20 14:27:59 user_host: REDACTED[REDACTED] @ REDACTED [192.168.56.101] thread_id: 30 server_id: 0 command_type: Connect argument: REDACTED@REDACTED on REDACTED *************************** 2. row *************************** event_time: 2011-04-20 14:27:59 user_host: REDACTED[REDACTED] @ REDACTED [192.168.56.101] […]

PDO в Codeigniter – Защита от SQL-инъекций

Истинные эксперты в области безопасности PHP, это PDO, или мне было бы хорошо с классом Active Record Codeigniter? Я прочитал http://codeigniter.com/forums/viewthread/179618/ и не уверен на 100%. Обычно я склоняюсь к таким экспертам, как Крис Шифлетт и OWASP для советов по безопасности. http://shiflett.org/blog/2006/jul/the-owasp-php-top-5 Использовал собственный класс PDO DBO вместо файлов базы данных Codeigniter. Каждый раз, когда […]

PDO позиционные и именованные параметры как часть одного и того же подготовленного запроса?

Я изучаю веревки с PDO. Вот мой sql (число параметров, которое может появиться в WHERE, является переменной). SELECT ID, title FROM table WHERE something = ? ORDER BY :sort :dir LIMIT :start, :results Вот мой код: $query = $conn->prepare($sql); if ($parameters) { $i = 0; foreach ($parameters AS $parameter) { $i++; $query->bindParam($i, $parameter); } } […]

PHP / PDO: Подготовленные утверждения не работают при создании таблицы?

Когда я использую подготовленный PDO-оператор и использую его для подключения имени таблицы к запросу, который он не выполняет, быстрый пример: $stmt = $dbh->prepare("CREATE TABLE ? (id foo, int bar,…)"); $stmt->execute(Array('table_foobar')); Все, что он делает, заменяет ? с 'table_foobar' , одиночные кавычки не позволяют создать таблицу для меня! В итоге мне нужно сделать sprintf в TOP […]

Является ли mysql_real_escape_string () сломанным?

Некоторые люди считают, что mysql_real_escape_string() имеет некоторые недостатки и не может защитить ваш запрос даже при правильном использовании. Приведение некоторых окаменелых статей в качестве доказательства. Итак, возникает вопрос: mysql [i] _real escape_string () абсолютно неприемлем? Или еще можно использовать эту функцию для создания ваших собственных подготовленных заявлений? С пробным кодом, пожалуйста.

PHP Mysql PDO число связанных переменных не совпадает с числом токенов

Привет, я посмотрел вокруг здесь, но, похоже, не может найти ответ тоже моей проблемой. Это первый раз, когда я использовал PDO, и для меня это полный новичок. У меня есть загрузка данных, разделенных на 2 таблицы, и вы хотите объединить их в один, есть другие способы сделать это, но, не вдаваясь в сложные причины, почему, […]

Получить последний идентификатор вставки после подготовленной вставки с PDO

Я использую PHP PDO с PostgreSQL для нового проекта. Учитывая следующую функцию, как я могу вернуть идентификатор только что вставленной строки? Теперь он не работает так, как он выглядит. function adauga_administrator($detalii) { global $db; $ultima_logare = date('Ym-d'); $stmt = $db->prepare("INSERT INTO site_admins (sa_nume, sa_prenume, sa_user_name, sa_password, sa_email, sa_id_rol, sa_status, sa_ultima_logare) VALUES (?, ?, ?, ?, […]

Замена функций mysql_ * с помощью PDO и подготовленных операторов

Я всегда делал простое соединение mysql_connect , mysql_pconnect : $db = mysql_pconnect('*host*', '*user*', '*pass*'); if (!$db) { echo("<strong>Error:</strong> Could not connect to the database!"); exit; } mysql_select_db('*database*'); При использовании этого я всегда использовал простой метод для удаления любых данных перед тем, как сделать запрос, будь то INSERT , SELECT , UPDATE или DELETE с помощью […]