SQLデータベースに30行追加したい。テーブルには、「年」、「月」、「日」の3つの列があります。行は「日」列に追加する必要があります。私はを一度としたいので、次のコードを使用します。私がRESTeasyを介して投稿すると、最後の行(この場合は「2017」「1」「31」)だけがPHPmyadminに表示されます。PHPを使ってmysqlデータベースに複数行を1行追加する方法
// Add days in month
$app->post('/api/calendar/add', function (Request $request, Response $response) {
$year = $request->getParam('Year');
$month = $request->getParam('Month');
$day = $request->getParam('Day');
$day = 1;
while($day < 31) {
$day = $day + 1;
$sql = "INSERT INTO `days` (`Year`, `Month`, `Day`) VALUES ('2017', '1', '$day')";
};
try {
// Get DB Object
$dbcalendar = new dbcalendar();
// Connect
$dbcalendar = $dbcalendar->connect();
$stmt = $dbcalendar->prepare($sql);
$stmt->bindParam(':Year', $year);
$stmt->bindParam('Month', $month);
$stmt->bindParam('Day', $day);
$stmt->execute();
echo '{"notice": {"text": "Days Added"}';
} catch(PDOException $e) {
echo '{"error": {"text": '.$e->getMessage().'}';
}
非常に簡単で効率的なソリューションです。私は、この非常に大文字小文字の場合にはすべてのSQLクエリごとに実行する必要のある '$ stmt = $ dbcalendar-> prepare($ sql);と' $ stmt-> execute(); 'を忘れていました。どうもありがとう! – Rico11112016