PHP Post方法prepare()返回False
问题是,我想为我的Web服务创建一个Post方法。我正在使用PHP7和SQLite3数据库构建Slim框架。我实现了以下代码:PHP Post方法prepare()返回False,php,sql,sqlite,slim,Php,Sql,Sqlite,Slim,问题是,我想为我的Web服务创建一个Post方法。我正在使用PHP7和SQLite3数据库构建Slim框架。我实现了以下代码: $app->post('/api/generalinformation', function ($request) { try { $db = new PDO("sqlite:D:/Schule/notfunk_app/IPNF.db") or die("Cannot open Database"); $query = "i
$app->post('/api/generalinformation', function ($request) {
try {
$db = new PDO("sqlite:D:/Schule/notfunk_app/IPNF.db") or die("Cannot open Database");
$query = "insert into nlv_GeneralInformation (SystemID, InformationID, Title, Description, Importance) values (:SystemID, :InformationID, :Title, :Description, :Importance);";
$stmt = $db->prepare($query);
if($stmt === false){
die("prepare() failed");
}
$SystemID = $request->getparsedBody()["SystemID"];
$InformationID = $request->getparsedBody()["InformationID"];
$Title = $request->getparsedBody()["Title"];
$Description = $request->getparsedBody()["Description"];
$Importance = $request->getparsedBody()["Importance"];
$stmt->bindParam(":SystemID", $SystemID, PDO::PARAM_INT);
$stmt->bindParam(":InformationID", $InformationID, PDO::PARAM_INT);
$stmt->bindParam(":Title", $Title, PDO::PARAM_STR);
$stmt->bindParam(":Description", $Description, PDO::PARAM_STR);
$stmt->bindParam(":Importance", $Importance, PDO::PARAM_INT);
$stmt->execute();
$db = null;
} catch (PDOException $e) {
echo $e->getMessage();
}
});
但是prepare()函数总是返回false。我已经测试了这个查询,它是有效的 从创建
$db
对象后开始,尝试以下操作:$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_异常)代码>。这将使它抛出异常,因此您的错误消息将被回显。PS无需将参数与PDO绑定。只需将它们作为关联数组传递给execute()
。