我正在尝试发送一个友谊请求,将用户 ID 组合在一个表中,但似乎我在某个地方犯了一个错误。这是代码片段:
public function sendRequest($user_one_id, $user_two_id, $status, $action_user_id) {
$stmt = $this->conn->prepare("INSERT INTO relationship(user_one_id, user_two_id, status, action_user_id) VALUES (?, ?, ?, ?)");
$stmt->bind_param("iiii", $user_one_id, $user_two_id, $status, $action_user_id);
$result = $stmt->execute(); // HERE IS AN ERROR
$stmt->close();
if (!$result) {
return NULL;
} else {
return TRUE;
}
}
我得到的错误:
Object of class Slim\Http\Request could not be converted to double
编辑:
这就是我调用方法的方式:
$app->post('/send_request', function() use ($app) {
// check for required params
verifyRequiredParams(array('user_one_id', 'user_two_id', 'status', 'action_user_id'));
// reading post params
$user_one_id = $app->request('user_one_id');
$user_two_id = $app->request('user_two_id');
$status = $app->request('status');
$action_user_id = $app->request('action_user_id');
$response = array();
$db = new DbHandler();
$relationship = $db->sendRequest($user_one_id, $user_two_id, $status, $action_user_id);
if ($relationship != NULL) {
$response["error"] = false;
$response["request"]["user_one_id"] = $relationship["user_one_id"];
$response["request"]["user_two_id"] = $relationship["user_two_id"];
$response["request"]["status"] = $relationship["status"];
$response["request"]["action_user_id"] = $relationship["action_user_id"];
} else {
$response["error"] = true;
$response["message"] = "An error occurred. Please try again later.";
}
echoRespnse(200, $response);
});
最佳答案
verifyRequiredParams
函数中发生了什么?在您发布的代码中,我没有看到 Slim\Http\Request
对象的任何转换。
$user_one_id = $app->request('user_one_id');
$user_two_id = $app->request('user_two_id');
$status = $app->request('status');
$action_user_id = $app->request('action_user_id');
据我所知,这些是您对 Slim 请求对象执行任何操作的唯一代码行。您能否验证您设置的这些变量中的值是否正确?喜欢 var_dump()
它们并在您的代码中放置一个 exit
并查看其内容。
关于php - Slim\Http\Request 类的对象无法转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364614/