Hallo,
ich habe in SLIM3 einen Webservice gebastelt. Die gesamte Logik ist in der Route untergebracht.
Die Post-Methoden funktionieren soweit gut (POST-Methode). Nur bei PUT und DELETE will es nicht gehen.
Zwar führt der Webservice die Befehle auf der Datenbank aus, wenn ich den Test mit Postman durchführe: updatet die Daten bzw. löscht sie auch was er soll, gibt aber eine Meldung zurück, dass ein Fehler aufgetreten ist: "SQLSTATE[HY000]: General error".
Rufe ich aber diese Methoden mit einem Script auf, führt der Webservice sie nicht aus, sondern gibt nur die Fehlermeldung zurück.
Wo kann der Fehler sein?
ich habe in SLIM3 einen Webservice gebastelt. Die gesamte Logik ist in der Route untergebracht.
Die Post-Methoden funktionieren soweit gut (POST-Methode). Nur bei PUT und DELETE will es nicht gehen.
Zwar führt der Webservice die Befehle auf der Datenbank aus, wenn ich den Test mit Postman durchführe: updatet die Daten bzw. löscht sie auch was er soll, gibt aber eine Meldung zurück, dass ein Fehler aufgetreten ist: "SQLSTATE[HY000]: General error".
PHP-Code:
$app->put( '/update', function ( $request, $response, $args ) {
try {
$db = $this->db->prepare( "
UPDATE tabelle
SET column1 = :value
WHERE column2 = :value2
" );
$db->bindParam( ':value', $request->getParam( 'param1' ) );
$db->bindParam( ':value2', $request->getParam( 'param2' ));
$db->execute();
$row = $db->fetch();
} catch ( PDOException $e ) {
return $response->withJson( array( 'PDO: ' => $e->getMessage() ) );
}
} );
PHP-Code:
$app->delete( '/delete', function ( $request, $response, $args ) {
try {
$db = $this->db->prepare( "
DELETE FROM tabelle
WHERE column1 = :value
" );
$db->bindParam( ':value', $request->getParam( 'param1' ) );
$db->execute();
$row = $db->fetch();
} catch ( PDOException $e ) {
return $response->withJson( array( 'PDO: ' => $e->getMessage() ) );
}
} );
Rufe ich aber diese Methoden mit einem Script auf, führt der Webservice sie nicht aus, sondern gibt nur die Fehlermeldung zurück.
Wo kann der Fehler sein?
Kommentar