android param 函数,php - 致命错误:从Android应用输入字符串时,在php中的布尔值上调用成员函数bind_param() - 堆栈内存溢出...

该段代码展示了PHP在更新用户信息时遇到的问题。在尝试使用预处理语句更新用户数据时,遇到了在布尔值上调用bind_param()的致命错误。尽管更新操作似乎成功了,但代码在尝试获取和返回更新后的用户信息时遇到了问题。错误可能源于对预处理语句的不正确使用。修复可能涉及检查参数类型和预处理语句的构造。
摘要由CSDN通过智能技术生成

public function StoreUserInfo($sid, $name, $email, $password, $ktp, $gender) {

$hash = $this->hashFunction($password);

$encrypted_password = $hash["encrypted"];

$salt = $hash["salt"];

$stmt = $this->conn->prepare("UPDATE user SET name = $name , email = $email , encrypted_password = $encrypted_password , salt = $salt, ktp = $ktp , gender = $gender WHERE sid = '$sid'");

$stmt->bind_param("sssssss", $sid, $name, $email, $encrypted_password, $salt, $ktp, $gender);

$result = $stmt->execute();

$stmt->close();

if ($result) {

$stmt = $this->conn->prepare("SELECT name, email, encrypted_password, salt, ktp, gender FROM user WHERE sid = $sid");

$stmt->bind_param("s", $sid);

if ($stmt === FALSE) {

die($mysqli->error);}

$stmt->execute();

$stmt-> bind_result($token1,$token2,$token3,$token4,$token5,$token6,$token7);

while ( $stmt-> fetch() ) {

$user["sid"] = $token1;

$user["name"] = $token2;

$user["email"] = $token3;

$user["ktp"] = $token6;

$user["gender"] = $token7;

}

$stmt->close();

return $user;

} else {

$response["error"] = TRUE;

$response["error_msg"] = "Unknown error occurred in input!";

echo json_encode($response);

return false;

}

}

我有这段代码,错误显示

致命错误:在第7行的布尔值上调用成员函数bind_param()

我不应该在UPDATE上使用prepare()吗?

但是当我删除它时,它在第13行显示了相同的错误

那我需要bind_param()对吗?

我该怎么办 ?

顺便说一句,我的输入在表中更新,但我想检查一下并返回true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值