Probleme enregistrement dans base de données SQL
Résolu
Firefly90
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Firefly90 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Firefly90 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je n'arrive pas a enregistrer toutes mes données dans ma base de données SQL.
J'ai une partie qui s'enregistre avec l'utilisateur 1 mais pas avec les autres.
je pense que ça vient de MYSQL mais je n'en suis pas sûre .
Mon code est en PHP mais avec des requete SQL:
Je n'arrive pas a enregistrer toutes mes données dans ma base de données SQL.
J'ai une partie qui s'enregistre avec l'utilisateur 1 mais pas avec les autres.
je pense que ça vient de MYSQL mais je n'en suis pas sûre .
Mon code est en PHP mais avec des requete SQL:
<?php require('inc_connexion.php'); ?> <?php require('inc_identification_user.php'); ?> <html> <link rel="stylesheet" type="text/css" href="style.css" /> <div id="container"> <h2>Rechercher une ville : </h2> <!-- zone de connexion --> <form method="POST" action=""> <input type="text" name="ville_nom"> <input type="SUBMIT" value="Search!"> </form> <li><a href="index.php">Accueil</a></li><br> </div> </html> <?php //On definie la variable if (isset($_POST['ville_nom'])) { $ville_nom = $_POST['ville_nom'];} { if (empty($ville_nom)) { echo "<p>" . "Veuillez saisir une ville !" . "</p>"; } else { // la requete mysql de recherche $result = $mysqli->query('SELECT ville_id, ville_nom FROM villes WHERE ville_nom LIKE "' . $ville_nom . '"'); while ($donnees = $result->fetch_array()) { // ici tu fais ton insert var_dump($user_id); $sql = "INSERT INTO user_search (ville_id,ville_nom,user_id) VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')"; $mysqli->query($sql); $villes[$donnees['ville_id']] = $donnees['ville_nom']; } } } ?> </div> <div> <p>Vos précédentes recherches :</p> <?php $result = $mysqli->query('SELECT ville_nom From user_search where user_id like "%'. $user_id .'%" '); $recherches = array(); while ( $row = $result->fetch_array()) { $recherches[] = $row['ville_nom']; }?> <ul> <?php foreach ($recherches as $id => $ville) : ?> <li><a href="ville.php?id=<?php echo $id ?>"><?php echo $ville?></a></li> <?php endforeach ?> </ul> <?php require('inc_footer.php'); ?>
A voir également:
- Probleme enregistrement dans base de données SQL
- Fuite données maif - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
7 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
je suggère que tu adaptes ton code en tenant compte de ceci:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code#connecter-son-code-a-une-base-de-donnees-mysql
tu ne le précises pas, je suppose que c'est l'INSERT en ligne 33 qui ne fait pas tout ce que tu veux, est-ce exact?
comment sais-tu ce que fait ton code? comment sais-tu combien de fois il exécute la ligne 33, et avec quelles données?
je suggère que tu adaptes ton code en tenant compte de ceci:
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code#connecter-son-code-a-une-base-de-donnees-mysql
tu ne le précises pas, je suppose que c'est l'INSERT en ligne 33 qui ne fait pas tout ce que tu veux, est-ce exact?
comment sais-tu ce que fait ton code? comment sais-tu combien de fois il exécute la ligne 33, et avec quelles données?
Bonjour a tous
Donc je me suis connecté à un autre utilisateur.
Quand je fais le var_dump, j'ai bien les variables enregistré.
Par contre, dans mysql, il m'affiche cette erreur :
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')' at line 2
Donc je me suis connecté à un autre utilisateur.
Quand je fais le var_dump, j'ai bien les variables enregistré.
Par contre, dans mysql, il m'affiche cette erreur :
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')' at line 2
Je suis sur Eversql et il me trouve cette erreur :
We found an error in the query's syntax around:
"ville_id" at line 2, column 23.
Donc c'est bien une erreur dans la requête.
Il faut juste que je trouve comment la resoudre.
We found an error in the query's syntax around:
"ville_id" at line 2, column 23.
Donc c'est bien une erreur dans la requête.
Il faut juste que je trouve comment la resoudre.
en fait , ca me montre exactement la même chose que le var dump.
INSERT INTO user_search (ville_id,ville_nom,user_id) VALUES ('20', 'Paris','1')
On vois bien mes valeurs.
C'est ça qui estbizarre.
Mais ça s'insere pas
c'est bien les bonne valeurs en plus. :/
ça s'insere que avec un utilisateur. les autres, ils existe pas pour mysql.
INSERT INTO user_search (ville_id,ville_nom,user_id) VALUES ('20', 'Paris','1')
On vois bien mes valeurs.
C'est ça qui estbizarre.
Mais ça s'insere pas
c'est bien les bonne valeurs en plus. :/
ça s'insere que avec un utilisateur. les autres, ils existe pas pour mysql.
ça s'insere que avec un utilisateur. les autres, ils existe pas pour mysql.
Les autres ... quels autres ??
Tu as fais ce que je t'ai demandé ? Te loguer avec un autre user et regarder ce que t'affiche le var_dump et le echo ??
En plus.. tu fais un
var_dump($user_id);
Donc.. avec la variable $user_id ... mais ensuite, dans ta requête tu utilises $_SESSION['user_id'] .....
Ne peux tu pas nous faire un
var_dump($_SESSION) ;
et nous montrer ce qu'elle contient quand tu te logues avec un autre utilisateur ( puisque c'est avec les autres que ça semble merder... ) ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
En complément, je lui avais déjà demandé de faire ceci:
Oui, c'est bien l'insert ligne 33 et l'erreur est dans mysql.
car il affiche une erreur dans PHP my admin.
j'ai bien mes 3 valeurs. il me trouve bien les bonnes valeurs.
donc en partie, le code marche mais que pour un utilisateur.
par contre, quand je rentre le code dans PHP my admin
il me trouve l'erreur #1064.
C'est une erreur de syntaxe mais je vois pas vraiment ce qui peux clocher.
Si quelqu'un voit une erreur dedans je veux bien qu'il me le dise.