Ошибка при попытке обновить информацию - PullRequest
0 голосов
/ 19 апреля 2020

У меня ошибка в моем коде. Именно тогда, когда я пытаюсь выполнить запрос, появляется «Нет данных для параметров в подготовленном операторе». Что я делаю не так?

<?php
require_once "db_connect.php";

if(isset($_POST["id"]) && !empty($_POST["id"])) {
$id = $_POST["id"];


$sql = DB::prepare("UPDATE objects SET name=?, description=?, ab_name=?, ab_email=?, approved_by=?, location=?, address=?, domain=?, phone=?, worktime=?,
 price=?, ex_description=?, update_time=?, area=?, category=?, city=?, subway=? WHERE id='" .$_POST["id"]. "';");

if($sql->execute()){
header("location: /www/public_html2/adminconfirm.php");
exit();
}else{
//echo "Something went wrong. Please try again later.";
 printf("Error: %s.\n", $sql->error);
 var_dump($sql->execute());

}
}
?>

1 Ответ

0 голосов
/ 19 апреля 2020

Когда вы используете подготовленные операторы, вам нужно использовать метод bind_param для привязки переменных к вопросительным знакам в вашем запросе. Фактически, mysql ожидает переменных для каждого вопросительного знака при его выполнении. Взгляните на: Руководство по подготовленным заявлениям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...