QUERY FAILED .You have an error in your SQL syntax; check the manual that corres [Résolu]

Signaler
-
 mm -
Bonjour j'ai un soucis avec mon code php, j'arrive pas voir l'erreur.
Grandement besoin de votre aide. Le code est ci-dessous.
<?php


        if(isset($_POST['create_post'])){

            $post_title       = escape($_POST['title']);
            $post_user        = escape($_POST['post_user']);
            $post_category_id = escape($_POST['post_category']);
            $post_status      = escape($_POST['post_status']);


            $post_image       = escape($_FILES['image']['name']);
            $post_image_temp  = escape($_FILES['image']['tmp_name']);

            $post_tags        = escape($_POST['post_tags']);
            $post_content     = escape($_POST['post_content']);
            $post_date        = escape(date('d-m-y'));
            // $post_comment_count = 4;

            move_uploaded_file($post_image_temp, "../images/$post_image");

            // la fonction qui nous permet d'inserer nos données dans la base de données
            $query = "INSERT INTO posts(post_category_id, post_title, post_user, post_date,post_image,post_content,post_tags,post_status) ";
             
            $query .= "VALUES({$post_category_id},'{$post_title}','{$post_user}',now(),'{$post_image}','{$post_content}','{$post_tags}', '{$post_status}') "; 
                   
            $create_post_query = mysqli_query($connexion, $query);  
                
            comfirmQuery($create_post_query);
      
            $the_post_id = mysqli_insert_id($connexion);
      
      
            echo "<p class='bg-success'>Post Created. <a href='../post.php?p_id={$the_post_id}'>View Post </a> or <a href='posts.php'>Edit More Posts</a></p>";
             
      
            
        
        }
?>

5 réponses

Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
bonjour,
affiche (echo) la valeur de ta variable $query.
ensuite, utilise-la hors php, par exemple dans phpmyadmin.
si tu ne comprends pas le soucis, partage ici ce que contient cette variable.
Voici ce qu'il affiche avec echo.

INSERT INTO posts (post_category_id, post_title, post_user, post_date, post_image, post_content, post_tags, post_status) VALUES(,'','',now(),'','','','') QUERY FAILED .
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''','',now(),'','','','')' at line 1
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
es-tu satisfait des valeurs que tu essaies d'insérer?
VALUES(,'','',now(),'','','','')
Il manque la valeur post_ category_id, il ne l’a pris en compte alors que je l’ai bien défini .
$post_category_id = escape($_POST['post_category']);
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
as-tu fait
echo $post_category_id

et
print_r($_POST)

ce sont des techniques assez habituelles pour comprendre le comportement d'un programme
c'est la fonction scape qui fait défaut, quand je l'ai enlevé ça a marché.
merci pour la suivie
Messages postés
14525
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 mars 2021
810
pourras-tu, alors, marquer la discussion comme résolue?