Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Post方法prepare()返回False_Php_Sql_Sqlite_Slim - Fatal编程技术网

PHP Post方法prepare()返回False

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

问题是,我想为我的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 = "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()