Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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 向pdo插入块传递静态值失败_Php_Pdo - Fatal编程技术网

Php 向pdo插入块传递静态值失败

Php 向pdo插入块传递静态值失败,php,pdo,Php,Pdo,我有一个sql insert语句,可以插入到6个表列中。最后两个是使用预定义的值。在sql语句的值部分,我只是将值放在引号内(在我下面的教程中它起了作用),但它不起作用。我删除了sql语句中的最后两个值和列,它很好地插入了它们,因此出于某种原因,它不接受静态值。有人能发现问题吗 if (isset($_POST["submit"])){ $name = $_POST["commenterName"]; $email = $_POST["commenteremail"]; $comme

我有一个sql insert语句,可以插入到6个表列中。最后两个是使用预定义的值。在sql语句的值部分,我只是将值放在引号内(在我下面的教程中它起了作用),但它不起作用。我删除了sql语句中的最后两个值和列,它很好地插入了它们,因此出于某种原因,它不接受静态值。有人能发现问题吗

if (isset($_POST["submit"])){
  $name = $_POST["commenterName"];
  $email = $_POST["commenteremail"];
  $comment = $_POST["commenterthoughts"];
  date_default_timezone_set("Europe/Dublin");
  $currenttime = time();
  $datetime= strftime("%B-%d-%Y %H:%M:%S", $currenttime);




    $sql = "INSERT INTO comments(datetime,name,email,comment,approvedby,status) VALUES(:time,:name,:email,:comment,'pending','off')";
    $stmt = $connect->prepare($sql);
    $stmt->bindValue(':time',$datetime);
    $stmt->bindValue(':name',$name);
    $stmt->bindValue(':email',$email);
    $stmt->bindValue(':comment',$comment);
    $Execute = $stmt->execute();



    if($Execute){
      $_SESSION["success"] = "data added successfully";
      redirect("fullpost.php");
    }else {
      $_SESSION["error"] = "something went wrong. data not added to table";
      redirect("fullpost.php");
    }
  }

当您启用错误报告时,它会告诉您什么?错误报告已启用,不会得到任何错误。我在$execute语句中使用了var_dump,它打印出bool truet,但该语句不可能自动插入行。您如何知道已启用错误报告和显示错误?你是在php.ini上完成的?添加
ini\u集('display\u errors',1);错误报告(E_全部)就在if之前。我在页面顶部有以下内容
太棒了!很抱歉让你重复你自己的话,有时提问者没有正确的答案。。。所以是的,这是正确的,现在有时候PDO实际上不会抛出错误,当创建PDO对象时,您设置了错误模式吗?查看此处以执行此操作启用错误报告时,它会告诉您什么?错误报告已启用,不会出现任何错误。我在$execute语句中使用了var_dump,它打印出bool truet,但该语句不可能自动插入行。您如何知道已启用错误报告和显示错误?你是在php.ini上完成的?添加
ini\u集('display\u errors',1);错误报告(E_全部)就在if之前。我在页面顶部有以下内容
太棒了!很抱歉让你重复你自己的话,有时提问者没有正确的答案。。。所以是的,这是正确的,现在有时候PDO实际上不会抛出错误,当创建PDO对象时,您设置了错误模式吗?看这里来做