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;
}
}
输入查询字符串我有这样的代码和错误显示致命错误:调用一个成员函数bind_param()布尔在PHP而来自Android应用
Fatal error: Call to a member function
bind_param()
on boolean in line 7
我不应该使用在UPDATE prepare()
?
但是当我删除它,它显示了行同样的错误13
然后我需要bind_param()
吧?
我该怎么办?
顺便说一句,我的输入更新表中,但我想检查它并返回它的真实。
你不使用准备好的查询正确'name = $ name'?在查询中,您应该将占位符不直接放入变量 –
您需要绑定这些变量,而不是直接将它们注入到查询字符串中。 – Qirel
你可以在这里做一些搜索http://php.net/manual/en/pdostatement.bindparam.php –