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数据库一起正常工作。 谢谢您的帮助!
答案 0 :(得分:0)
在至少1个MySQL版本中,“事件”一词是保留词,因此您需要在其周围加上反引号,使其看起来像:
`events`
MySQL网站上有一个部分,您可以在其中查找对于给定版本的MySQL保留的单词。