Ich versuche, eine Freundschaftsanfrage zu senden, die Benutzer IDs in einer Tabelle kombiniert, aber scheint, habe ich irgendwo einen Fehler gemacht. Hier ist der Code-Fragment:Objekt der Klasse Slim Http Anfrage konnte nicht in Doppel umgewandelt werden
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;
}
}
Der Fehler ich erhalte:
Object of class Slim\Http\Request could not be converted to double
EDIT:
Dies ist, wie ich bin Methode Aufruf:
$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);
});
Wie nennt man die Methode? –
Überprüfen Sie meine bearbeitete Antwort. –
Ich habe nie mit Slim gearbeitet, aber da kein erfahrener hilft ... Was ist, wenn Sie Ihre Schließung in: '$ app-> post ('/ send_request', function ($ request) ...') ändern und dann Post-Parameter mit abrufen '$ user_one_id = $ request-> getParam ('user_one_id');', immer noch der selbe Fehler? Das hört sich an, als ob du etwas anderes als post param bekommst. Vielleicht kann var_dump der 4 Variablen einen Hinweis darauf geben, was das Objekt eigentlich ist ... hoffe, es hilft ein wenig – lp1051