phpでREST API作成
phpでREST APIを作成したのですが、GETとDELETEはできるのですが、POSTができずに以下のエラーが出てしまいます。
エラー
<br />
<b>Warning</b>: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in <b>/Users/user_name/php_workspace/sandbox/inquery.php</b> on line <b>13</b><br />
コードは以下のとおりです。
コード
1 <?php
2 header("Content-Type: application/json; charset=UTF-8");
3 header("X-Content-Type-Option: nosniff");
4 $pdo = new PDO('mysql:dbname=hoge', 'hoge', 'hoge');
5 switch($_SERVER['REQUEST_METHOD']){
6 case 'GET':
7 $st = $pdo->query("SELECT * FROM inquery");
8 echo json_encode($st->fetchAll(PDO::FETCH_ASSOC));
9 break;
10 case 'POST':
11 $in = json_decode(file_get_contents('php://input'), true);
12 $st = $pdo->prepare("INSERT INTO inquery(title,body) VALUES(:title,:body)");
13 $st->execute($in);
14 break;
15 case 'DELETE':
16 $st = $pdo->prepare("DELETE FROM inquery WHERE id=?");
17 $st->execute([$_GET['id']]);
18 break;
19 }
モデルは以下のとおりです。
id(int) primary key
title(varchar)
body(text)
timestamp(timestamp)
どこが間違っているか教えていただけると幸いです。