Problème d'ajout MySQL PHP
jobertomeu
Messages postés
1189
Date d'inscription
Statut
Membre
Dernière intervention
-
jobertomeu Messages postés 1189 Date d'inscription Statut Membre Dernière intervention -
jobertomeu Messages postés 1189 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
l'ajout à ma base ne se fait pas, et pourtant, lorsque j'affiche mes variables, elles sont bonnes, voici le code :
Voila, mercii
l'ajout à ma base ne se fait pas, et pourtant, lorsque j'affiche mes variables, elles sont bonnes, voici le code :
<?php mysql_connect("sql.olympe-network.com", "*****", "******"); mysql_select_db("*******"); $date = date("d/m/y"); $heure = date("H:i"); $pseudo = $_POST['user']; $password = $_POST['pass1']; $inscription = $date." - ".$heure; $mail = $_POST['mail']; $phone = $_POST['phone']; $blog = $_POST['blog']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; if ($password == $_POST['pass2']){ // On ajoute une entrée avec mysql_query mysql_query("INSERT INTO membres_espagnol VALUES('', '$pseudo', '$password', '$inscription', '$mail', '$phone', '$blog', '$nom', '$prenom')"); mysql_close(); ?>
Voila, mercii
A voir également:
- Problème d'ajout MySQL PHP
- Easy php - Télécharger - Divers Web & Internet
- Ajout snap sans rien d'écrit - Forum Snapchat
- Demande d'ajout snap qui disparait ✓ - Forum Snapchat
- Ajout rapide snap - Forum Snapchat
- Mysql community server - Télécharger - Bases de données
16 réponses
Bonsoir,
Exemple d'une insertion :
L'id n'apparaît pas comme tu le vois et (us,date,titre,texte) correspondent aux champs de ta base de données.
En espérant t'avoir aidé.
Exemple d'une insertion :
mysql_query("INSERT INTO news (us,date,titre,texte) VALUES ('$util','$date','$titre','$texte')");
L'id n'apparaît pas comme tu le vois et (us,date,titre,texte) correspondent aux champs de ta base de données.
En espérant t'avoir aidé.
Bonjour
Si, ta requête est bonne. Je pense que ton problème se situe au niveau de la connexion au serveur.
Essaye
$lnk = mysql_connect("sql.olympe-network.com", "*****", "******") or die (mysql_error());
$db=mysql_select_db("*******") or die (mysql_error());
et pendant que tu y es :
$rep=mysql_query("INSERT INTO membres_espagnol VALUES('', '$pseudo', '$password', '$inscription', '$mail', '$phone', '$blog', '$nom', '$prenom')") or die (mysql_error());
Ça te dira où se trouve l'erreur. Je penche pour la connexion, le nom d'hôte est souvent "localhost", le script tournant sur la même machine que le mysql.
D'une manière générale, il est bon de tester si les fonctions se passent bien. Elles rendent des codes d'erreur, il faut s'en servir.
Si, ta requête est bonne. Je pense que ton problème se situe au niveau de la connexion au serveur.
Essaye
$lnk = mysql_connect("sql.olympe-network.com", "*****", "******") or die (mysql_error());
$db=mysql_select_db("*******") or die (mysql_error());
et pendant que tu y es :
$rep=mysql_query("INSERT INTO membres_espagnol VALUES('', '$pseudo', '$password', '$inscription', '$mail', '$phone', '$blog', '$nom', '$prenom')") or die (mysql_error());
Ça te dira où se trouve l'erreur. Je penche pour la connexion, le nom d'hôte est souvent "localhost", le script tournant sur la même machine que le mysql.
D'une manière générale, il est bon de tester si les fonctions se passent bien. Elles rendent des codes d'erreur, il faut s'en servir.
merci tout le monde, mais le problème, c'est que ça ne peut pas être localhost parceque je suis sur mon site
je pense que c'est un probleme de concatenation...
quand tu mets des variables entre quote elles ne sont pas développés
quand tu mets des variables entre quote elles ne sont pas développés
mysql_query("INSERT INTO membres_espagnol('attribut1',....,'attribut8') VALUES('".$pseudo."', '".$password."', '".$inscription."', '".$mail."', '".$phone."', '".$blog."', '".$nom."', '".$prenom."')");
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ça ne peut pas être localhost parceque je suis sur mon site Bien sûr que si, ça peut être localhost quand même ! Si le script tourne sur la même machine que le serveur sql ! Note que je dis simplement "ça peut être" et pas "c'est forcément". Mais normalement, ton hébergeur a dû te donner le nom de serveur mysql à utiliser, il n'y a pas à jouer aux devinettes pour le trouver.
Il n'y a aucun problème de concaténation, d'ailleurs il n'y a pas de concaténation du tout, les variables sont bien dans une seule et même chaîne entre double quotes. Même si cette chaîne contient aussi des simple quotes, ces simples quotes sont ici des caractères comme les autres et ne délimitent pas de chaîne.
Et si tu tiens à mettre les noms des champs comme le suggèrent Adenora et mype (bien que ce ne soit pas obligatoire du tout), il ne faut surtout pas les mettre entre simple quotes comme dans 'attribut1','attribut2',... mais entre accents graves `attribut1`,`attribut2`,... ou tout simplement sans rien attribut1,attribut2,...
Ce qui serait utile, c'est de connaître le message d'erreur affiché par les die(mysql_error()).
Il n'y a aucun problème de concaténation, d'ailleurs il n'y a pas de concaténation du tout, les variables sont bien dans une seule et même chaîne entre double quotes. Même si cette chaîne contient aussi des simple quotes, ces simples quotes sont ici des caractères comme les autres et ne délimitent pas de chaîne.
Et si tu tiens à mettre les noms des champs comme le suggèrent Adenora et mype (bien que ce ne soit pas obligatoire du tout), il ne faut surtout pas les mettre entre simple quotes comme dans 'attribut1','attribut2',... mais entre accents graves `attribut1`,`attribut2`,... ou tout simplement sans rien attribut1,attribut2,...
Ce qui serait utile, c'est de connaître le message d'erreur affiché par les die(mysql_error()).
Alors, ok, j'ai fait beaucoups de sites (site de gestion de devoirs en SQL pour stoker les devoirs etc..., gestion de matériel stockage etc ... espace membres dans chaques sites etc...) et c'est la 1° fois que ça me le fait ! et quand e mets "or die (mysql_error()); " il ne me dit rien et affiche la page normalement !
que dois faire s'il vous plait !
que dois faire s'il vous plait !
c bon, ça marche, quand je mets le or die(mysql_error()); etc ...
il me dis ça :
"Column count doesn't match value count at row 1" ça signifi quoi ?
Merci
il me dis ça :
"Column count doesn't match value count at row 1" ça signifi quoi ?
Merci
Que tu dois renseigner la 1ère valeur dans ta requete.
J'imagine que c'est l'id de ta table, et que tu ne l'as pas mit en auto_increment.
J'imagine que c'est l'id de ta table, et que tu ne l'as pas mit en auto_increment.
Pourtant, si ! mon id est en AI ! mais au niveau de action ça doit être quoi ? (Primaire, unique ou index)
Merci bcp !
Merci bcp !
En primaire ou unique, mais c'est forcément le cas, sinon mysql n'aurait pas autorisé l'auto_increment.
Donc ce que je te conseille, et qui est une bonne pratique au passage, est de nommer les colonnes de ta table dans l'insert.
Exemple
Donc ce que je te conseille, et qui est une bonne pratique au passage, est de nommer les colonnes de ta table dans l'insert.
Exemple
INSERT INTO membres_espagnol(pseudo, password, inscription, mail, phone, blog, nom, prenom) VALUES('$pseudo', '$password', '$inscription', '$mail', '$phone', '$blog', '$nom', '$prenom')
Vérifier la valeur de tes variables avant de les insérer dans ta table.
Afficher ton sql pour visualiser ce que ça donne.
Afficher ton sql pour visualiser ce que ça donne.
tu met l'id dans ta requête,car c'est un champs de ta table
alors pour que la requête INSERT marche tu doit indiquer tout les champs de ta table :
alors pour que la requête INSERT marche tu doit indiquer tout les champs de ta table :
INSERT INTO membres_espagnol(id,pseudo, password, inscription, mail, phone, blog, nom, prenom) VALUES('','$pseudo', '$password', '$inscription', '$mail', '$phone', '$blog', '$nom', '$prenom')