使用带有Slim Framework版本2.4.2的REST API中的http post时,无法在我的数据库中插入数据

时间:2016-12-25 19:33:41

标签: php rest api slim

我正在使用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}

,我不知道为什么。

0 个答案:

没有答案