【发布时间】:2013-12-18 15:14:00
【问题描述】:
如果在其他地方有人问过这个问题,我会很遗憾,我环顾四周,但找不到确切的情况。基本上我在服务器上创建并填充了一个 sqlite3 数据库,我正在尝试制作一个连接到 php 文件的 html 表单,用户可以在其中输入一些数据,然后将这些数据插入到表中。
表单工作正常并连接,问题出在 PHP 本身。
这是我的 php 文件的代码:
<?php
try{
$db = new PDO('sqlite:mydatabase.db');
$title = $_POST['title'];
$subtitle = $_POST['subtitle'];
$latitude = $_POST['latitude'];
$longitude = $_POST['longitude'];
$sql = "INSERT INTO stop (title,subtitle,latitude,longitude) VALUES (:title,:subtitle,:latitude,:longitude)";
$q = $db->prepare($sql);
$q->bindParam(':title',$title);
$q->bindParam(':subtitle',$subtitle);
$q->bindParam(':latitude',$latitude);
$q->bindParam(':longitude',$longitude);
$q->execute();
echo 'inserted 1 row';
}
catch(PDOException $e){
echo 'exception:' . $e->getMessage();
}
?>
如您所见,表单提交了四个属性:标题、副标题、经度和纬度。然后将这些属性准备到查询中并在数据库上执行。代码在服务器上成功运行,甚至回显它插入了一行,但是数据库显示没有任何变化。
非常感谢您的帮助,我一直在努力解决这个问题。
谢谢你!
【问题讨论】:
-
PDO 默认不抛出异常。尝试在
$q->execute();之后添加print_r($q->errorInfo());并将结果添加到您的问题中。 -
您先生帮我找到了问题!谢谢狗!