在mysql数据库上插入数据时出现问题

时间:2018-09-08 22:59:21

标签: php mysql pdo

PDO菜鸟在这里! 我已经使用sqlite文件尝试了此脚本,并且该脚本可以完美运行,但是我没有切换到mysql数据库,并且在没有将数据输入数据库的情况下出现了问题。

(_ db.php文件)

$dsn = 'mysql:dbname=prova_schedule;host=127.0.0.1';
$user = 'root';
$password = '';

$db = new PDO($dsn, $user, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

(insert.php)

<?php
require_once '_db.php';

$insert = "INSERT INTO events (name, start, end) VALUES (:name, :start, :end)";

$stmt = $db->prepare($insert);

$stmt->bindParam(':start', $_POST['start']);
$stmt->bindParam(':end', $_POST['end']);
$stmt->bindParam(':name', $_POST['name']);


$stmt->execute();

class Result {}

$response = new Result();
$response->result = 'OK';
$response->message = 'Created with id: '.$db->lastInsertId();

header('Content-Type: application/json');
echo json_encode($response);

?>

我真的不知道为什么它不能再与mysql数据库一起正常工作。 谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

在至少1个MySQL版本中,“事件”一词是保留词,因此您需要在其周围加上反引号,使其看起来像:

`events`

MySQL网站上有一个部分,您可以在其中查找对于给定版本的MySQL保留的单词。