gpt4 book ai didi

php - 当 Bind_param() 与 UPDATE 语句一起使用时,列计数与第 1 行的值计数不匹配

转载 作者:行者123 更新时间:2023-11-29 10:38:35 26 4
gpt4 key购买 nike

这是我的代码:

public function deletePost($postId,$userId){
$stmt = $this->conn->prepare("UPDATE post SET active_status = ? ,modified_by =? ,modified_time=? WHERE post_id=?");
$notActivePost = 0;
$currentTime = $this->getCurrentTime();
$stmt->bind_param("ssss",$notActivePost,$userId,$currentTime,$postId);
$res = $stmt->execute();
var_dump($notActivePost,$currentTime,$postId,$userId);
var_dump($stmt->error_list);
return $res;
}

我检查了所有变量的值,都是正确的,如下:

$notActivePost = 0 //I tried this also $notActivePost = "0",also not work
$currentTime = 2017-08-30 20:34:05
$postId = 606
$userId = 56

但我不断收到此错误

Column count doesn't match value count at row 1

我检查了有关此错误的所有问题,因为查询中的列号与绑定(bind)的变量数不同,但正如您所见,查询中有 4 列,我绑定(bind)了 4 个变量。所以我真的不知道不知道这里发生了什么。

有人可以帮忙吗?因为我已经尝试了很多方法..tq

编辑:

我在本地主机中尝试了相同的代码,一切顺利。但是此代码在实时服务器中运行,它产生了错误。

最佳答案

如果字段的类型为整数,则需要传递i。考虑active_status、modified_by和post_id为integer类型

ssss 更改为 iisi

public function deletePost($postId,$userId){
$stmt = $this->conn->prepare("UPDATE post SET active_status = ? ,modified_by =? ,modified_time=? WHERE post_id=?");
$notActivePost = 0;
$currentTime = $this->getCurrentTime();
$stmt->bind_param("iisi",$notActivePost,$userId,$currentTime,$postId);
$res = $stmt->execute();
var_dump($stmt->error_list);
return $res;
}

关于php - 当 Bind_param() 与 UPDATE 语句一起使用时,列计数与第 1 行的值计数不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45960727/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com