添加php sql的未知问题添加文章

时间:2019-12-30 21:39:21

标签: php mysql forms

我的目标是在我的网站上添加一篇文章,该文章的标题,作者的内容和带有ID的图像均会为每篇文章生成。

我以为它可以用,但是当我点击验证按钮时,什么也没有发生,并且数据库中什么也没有出现

请问您有解决方案吗,这是我的代码:

require_once 'database.php';
      require_once 'function.php';



      if(isset($_POST['name'], $_POST['content'], $_POST['autor'], $_POST['image'])){
        if(!empty($_POST¨['name']) AND !empty($_POST['content']) AND !empty($_POST['autor']) AND !empty($_POST['image'])){
          $name =  htmlspecialchars($_POST['name']);
          $content =  htmlspecialchars($_POST['content']);
          $autor =  htmlspecialchars($_POST['autor']);
          $image =  htmlspecialchars($_POST['image']);
          $id =  htmlspecialchars($_GET['id']);


          $req = $bdd->prepare('INSERT INTO article (name, content, autor, image WHERE id)
          VALUES (?, ?, ?, ?)');
          $req->execute([
            'name' => $_POST['name'],
            'content' => $_POST['content'],
            'autor' => $_POST['autor'],
            'id' => $_GET['id'],


          ]);
          $message = 'votre article a bien été posté'; 

        } else{
          $erreur = 'Veuillez remplir tous les champs'; 
        }
      } 

1 个答案:

答案 0 :(得分:1)

如果将关联数组用作execute()的参数,则必须在查询中使用命名的占位符,而不是?

此外,您不会在WHERE查询中使用INSERT

      $req = $bdd->prepare('INSERT INTO article (name, content, autor, image, id)
      VALUES (:name, :content, :autor, :image, :id)');
      $req->execute([
        'name' => $_POST['name'],
        'content' => $_POST['content'],
        'autor' => $_POST['autor'],
        'image' => $_POST['image'],
        'id' => $_GET['id'],
      ]);