我正在使用Slim Framework构建REST API来管理一些手机联系人数据,我在使用http帖子在我的数据库中插入数据时遇到了问题。这个不起作用,我不知道为什么。
这是我的代码:
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
try {
$db = new PDO('sqlite:data/GestionnaireContact.sqlite');
$db->exec( 'PRAGMA foreign_keys = ON;' );
} catch(PDOException $ex){
die($ex->getMessage());
}
$app = new Slim\Slim(array(
'mode' => 'development'
));
$app->contentType('application/json');
$app->post('/contacts',function() use ($app,$db) {
$body=json_decode($app->request->getBody());
$nom = $body->nom;
$prenom=$body->prenom;
$email=$body->email;
$telephone=$body->telephone;
$req = $db->prepare("INSERT INTO contact (nom, prenom, email, telephone) VALUES (?, ?, ?, ?)");
try {
$req->execute(array($nom, $prenom, $email, $telephone));
} catch (\PDOException $ex) {
die("Erreur ".$ex->getMessage());
}
returnResult('add', $req->rowCount() == 1, $db->lastInsertId());
});
function returnResult($action, $success = true, $id = 0)
{
echo json_encode([
'action' => $action,
'success' => $success,
'id' => intval($id),
]);
die();
}
一切似乎都对我不对。我测试了get请求以检索数据并且它工作得很好但是有了帖子,它根本没有工作我得到了这个错误:
{"action":"add","success":false,"id":0}
,我不知道为什么。