如果在其他地方被问到这个问题,我会把我弄坏,我环顾四周但却找不到我的情况。基本上我在服务器上创建并填充了一个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();
}
?>
如您所见,表单提交了四个属性:标题,副标题,经度和纬度。然后将这些属性准备到查询中并在数据库上执行。代码在服务器上成功运行,甚至在插入行的回声中运行,但数据库没有显示任何更改。
非常感谢他们的帮助,一直坚持反对这一点。
谢谢你!
答案 0 :(得分:0)
在问题明确print_r($q->errorInfo());
之后添加$q->execute();
后结果显示,数据库处于只读状态。在挖掘之后,我发现了PDO的一个细微差别,你必须拥有数据库和所有权限模式下的文件夹。一旦改变,一切都完美无缺!