Php can';无法获得与sqlite DB的连接
我非常熟悉PHP和mySQL。但是作为一个改变,我想使用sqlite作为DB,我只是无法正确连接。我一直在关注2。来自网站的代码示例,因此我的代码如下所示:Php can';无法获得与sqlite DB的连接,php,sqlite,Php,Sqlite,我非常熟悉PHP和mySQL。但是作为一个改变,我想使用sqlite作为DB,我只是无法正确连接。我一直在关注2。来自网站的代码示例,因此我的代码如下所示: <html> <head> <title> DB bearbeiten </title> </head> <body> <form action="insert.php" method="post">
<html>
<head>
<title>
DB bearbeiten
</title>
</head>
<body>
<form action="insert.php" method="post">
<input type="text" name="name" placeholder="Name">
<input type="text" name="eName" placeholder="E-Number">
<input type="text" name="causes" placeholder="Wirkung">
<input type="number" name="danger" placeholder="Gefahreinstufung">
<button type="submit" name="submit">Eintragen</button>
</form>
<?php
echo '1';
if(isset($_POST['submit'])){
echo '2';
$table = "zusatzstoffe";
$filename = "sqlite:/data/Adrian/zusatzstoffe.db";
$db = new PDO($filename) or die("cannot open DB");
//$db = SQLite3::_construct();
settype($danger, "integer");
$name = $_POST['name'];
$eName = $_POST['eName'];
$causes = $_POST['causes'];
$danger = $_POST['danger'];
$db->exec("INSERT INTO $table (name, number, causes, danger) VALUES ($name, $eName, $causes, $danger)");
}
?>
</body>
</html>
贝尔贝滕酒店
埃因特拉根
这行不行,我只是不知道为什么:
$db=newpdo(filename,,'')或die(“无法打开db”)
:可能应该是$filename=“sqlite:/data/Adrian/zusatzstoffe.db;
,初始化PDO对象时不需要第二个和第三个参数-只需新建PDO($filename)
就足够了。谢谢,虽然它解决了另一个问题。遗憾的是,我无法获取错误日志,因为服务器限制了它的工作。可能是因为您没有用“
(“$name”,“$number”…)封闭最后一行中的值。
。尽管我建议您不要使用exec()
但出于安全原因,使用准备好的语句。确实要使用准备好的语句$stmt=$db->prepare(“插入到$table(名称、数字、原因、危险)值(?、、?、?)”);$stmt->execute(数组($name、$eName、$causes、$danger));
谢谢解决了我的问题。