使用预准备语句更新mysqli中的记录

时间:2018-02-11 11:59:57

标签: php mysqli

我尝试使用预处理语句更新mysqli数据库中的记录,但它对我不起作用。 请检查我的代码。 谢谢。

$editPostID = $_POST['postID'];
$newHeader = $_POST['newHeader'];
$newSubHeader = $_POST['newPostSubHeader'];
$newBody = $_POST['postBodyE'];
$oldCat = $_POST['oldCategory'];
$newCat = $_POST['newCategory'];

$sql = "UPDATE database.posts
SET postHeader=?, postSubHeader=?, postBody=?, category=?
WHERE ID=?";


$stmt = mysqli_stmt_init($myConn);

mysqli_stmt_prepare($stmt, $sql);

 mysqli_stmt_bind_param($stmt, "sssss", $newHeader, $newSubHeader, $newBody, 
$newCat, $editPostID);

 mysqli_stmt_execute($stmt);

1 个答案:

答案 0 :(得分:0)

解决了,我发现了错误。 当绑定参数并声明变量类型时,ID必须声明字母D(数据类型),s(字符串类型)(至少我认为这是它) `

mysqli_stmt_bind_param($stmt, "ssssd", $newHeader, $newSubHeader, $newBody, 
$newCat, $editPostID);