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

PHP eval () можно использовать в моем коде? (динамические аргументы)

EDIT: после того, как я прочитал все данные от других пользователей, я решил использовать то, что @chris предложило call_user_func_array () еще одну причину не использовать eval () медленнее, чем call_user_func_array () , но до сих пор никто не смог ее использовать мой путь, если вы найдете способ, отправьте его в ответ или комментарий :). Поэтому […]

Запрос UPDATE с подготовленными операциями

Проблемы с обновлением и обновлением Warning: Crud::update() [crud.update]: Property access is not allowed yet in crud.php on line 60 Это мой код $stmt = $this->mysql->prepare('UPDATE links SET title = ?, url = ?, comment = ? WHERE id = ?'); $stmt->bind_param('sssi',$title,$url,$comment,$id); $stmt->execute(); $stmt->close(); on line 60 return $stmt->affected_rows; В Googled и только нашел одну ссылку […]

Объединение подготовленного оператора в функцию

Я читал статьи о SQL Injection и решил изменить свой код, чтобы предотвратить SQL-инъекцию. Например, у меня есть вход, который я вставляю в мою базу данных. Первоначально моя защита от инъекций была такой: function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); // $data = addslashes($data); $data = mysql_real_escape_string($data); return $data; } […]

универсальный метод вставки для класса PDO

это мой метод ввода в PDO, он работает на 100%. этот метод «insert» принимает таблицу, столбец и значение, но я хочу сделать его универсальным. (я хочу вставить значения с именами столбцов или без них) public function insert($table, $pair = array()){ try{ $Sql = "INSERT INTO $table ( "; $Sql .= implode(", ", array_keys($pair)); $Sql .= […]

Неустранимая ошибка: вызов функции-члена prepare () для не-объекта с PDO

У меня есть файл, который содержит другой файл: index.php – динамический шаблон <?php $db = new PDO("mysql:host=localhost;dbname=db", $DB_USER, $DB_PASSWORD); include(functions.php); ?> functions.php <?php $preparedStatement = $db->prepare("SELECT id FROM table LIMIT 1"); $preparedStatement->execute(); $firstId = $preparedStatement->fetchAll(); ?> когда функции functions.php выполняются, я получаю: Fatal error: Call to a member function prepare() on a non-object на линии […]

PDO не обязательные заполнители

Я пытаюсь изменить свой сценарий входа из mysql в PDO . Для остальной части моего сценария все швы будут хорошо отделены от этих частей, и я просто не могу понять, почему. У меня есть код ниже … $pasword=md5($_POST['password']); $email=$_POST['email']; …. $query ="SELECT id FROM guests WHERE email=':eml' AND password =':pwd' AND lead_guest=17"; // $param2=array(':eml'=>$email,':pwd'=>$pasword); $state=$dbh->prepare($query); […]

PHP PDO Обновление подготовленной задачи

Привет всем, кто недавно пытался попробовать себя в PDO, и в настоящее время я пытаюсь написать базовый класс базы данных для проекта, над которым я работаю. Однако у меня возникли проблемы с попыткой написать функцию для выполнения запроса на обновление с использованием подготовленных операторов. function update($tabledata, $table, $where){ $fields = array_keys($tabledata); $data = array_values($tabledata); $fieldcount […]

Выполняя тот же запрос PDO (с изменяющимися параметрами), я вызываю prepare () каждый раз или только один раз?

Я пытаюсь узнать, как использовать PDO, и мне нужна помощь в понимании чего-то. Я продолжаю читать, что одним из самых больших преимуществ использования PDO является то, что он намного эффективнее, чем mysql_* при mysql_* подобных запросов снова и снова. Мне нужно сделать запрос точно таким же, за исключением того, что связанные параметры меняются каждый раз […]

PHP PDO избегает вопросительного знака, поэтому он не считает, что это заполнитель

У меня есть запрос, который выглядит так: SELECT CONCAT('path/to/page/?id=', id) AS link FROM users WHERE name = ? Я использую PDO для подготовки этого утверждения, и я получаю ошибку Invalid parameter number: number of bound variables does not match number of tokens потому что он считает, что знак вопроса в строке CONCAT является заполнителем. Есть […]

Изменено PDO :: ATTR_EMULATE_PREPARES на FALSE и появляется ошибка «Недопустимый номер параметра»

Для примера у меня есть следующий код: $dbStatement=$this->dbObject->prepare("SELECT AVG(quality) as quality, AVG(adequacy) as adequacy, AVG(friendliness) as friendliness, SUM(overall) as overall, SUM(completed) as completed, type FROM (SELECT AVG(quality) as quality, AVG(adequacy) as adequacy, AVG(friendliness) as friendliness, COUNT(id) as overall, SUM(is_completed) as completed, category_id, type FROM valuation a WHERE status =1 AND type =:01 AND ((type='employer' AND […]