gpt4 book ai didi

PHP Delete 函数正在删除数据库行,但响应显示错误?

转载 作者:行者123 更新时间:2023-11-29 04:35:40 24 4
gpt4 key购买 nike

我创建了一个名为 DB_Functions 的 PHP 文件,其中包含我的 Delete 方法,用于按用户 ID 删除数据库行。代码:

    //Delete User
public function deleteUser($id){

$stmt = $this->conn->prepare("DELETE FROM users WHERE user_id = ?");
$stmt->bind_param("s", $id);
$result = $stmt->execute();
$stmt->close();
}

然后我创建了另一个 PHP 文件作为端点,它在 Id 作为 POST 参数接收后调用此函数。代码:

require_once 'include/DB_Functions.php';
$db = new DB_Functions();

//json response array
$response = array();

if(isset($_POST['id'])){

//recieve GET parameters
$id = $_POST['id'];

$result = $db->deleteUser($id);
if($result){
$response["error"] = FALSE;
$response["message"] = "User deleted succesfully";
}else{
$response["error"] = TRUE;
$response["error_msg"] = "User did not delete";
}
echo json_encode($response);
}

当使用 Advanced Rest Client 对此进行测试时,以及当与我正在处理的 Andriod 开发一起使用时,该行已从数据库中删除,但 ARC 中解析的响应是错误消息,而在 Android Logcat 中是相同的响应消息“显示用户未删除?

有什么帮助吗?

最佳答案

在您的 deleteUser 函数中,您缺少 return 语句。如果您不返回任何内容,则函数将始终返回 null

因此,在您的情况下,它返回 NULL 并在进一步的条件下检查它是否为其他情况。

public function deleteUser($id){

$stmt = $this->conn->prepare("DELETE FROM users WHERE user_id = ?");
$stmt->bind_param("s", $id);
$result = $stmt->execute();
$stmt->close();
return $result; // add this
}

关于PHP Delete 函数正在删除数据库行,但响应显示错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42691529/

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