我的代码有错误。确切地说,当我试图执行请求时,“未为预准备语句中的参数提供数据”。我做错了什么?
<?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());
}
}
?>发布于 2020-04-19 19:05:15
在使用准备语句时,需要使用bind_param方法将变量绑定到查询中的问号。实际上,mysql在执行时希望每个问号都有变量。看看:准备报表手册
https://stackoverflow.com/questions/61309943
复制相似问题