尝试更新信息时出错

时间:2020-04-19 18:58:43

标签: php mysql

我的代码有错误。确实,当我尝试执行请求时,“在准备好的语句中没有为参数提供数据”。我在做什么错了?

<?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 :(得分:0)

在使用准备好的语句时,需要使用bind_param方法将变量绑定到查询中的问号。实际上,mysql在执行时希望每个问号都有变量。 看一眼: prepared statements manual