我的目标是在我的网站上添加一篇文章,该文章的标题,作者的内容和带有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';
}
}
答案 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'],
]);