Problème base de donnée php-mysql

Résolu/Fermé
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 - 2 mars 2006 à 19:00
 Lolpetaxi - 5 oct. 2007 à 01:10
Bonjour !

J'ai un problème pour insérer un nouveau contact dans un carnet d'adresse.
J'ai une base de donnée de départ avec des contacts dedant et je veux ajouter un contact par l'intermédiaire d'un formulaire html.
J'ai bien précisé dans la page html action="ajout.php" method="post", mais il ne veut pas ajouter de contacts. J'utilise Wamp Server

Une partie du code php de ma page : ajout.php :

host="localhost";
$bdd="contacts";
$table="carnet";

$connect=mysql_connect($host,"root","");
$select=mysql_select_db($bdd,$connect);


$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$societe=$_POST['societe'];
$adresse=$_POST['adresse'];
$cp=$_POST['cp'];
$ville=$_POST['ville'];
$pays=$_POST['pays'];
$tel=$_POST['tel'];
$mail=$_POST['mail'];
$sweb=$_POST['sweb'];

$query="INSERT INTO $table VALUES ('0',$nom,$prenom,$societe,$adresse,$cp,$ville,$pays,$tel,$mail,$sweb)";
mysql_query($query,$connect);

J'ai peut être oublié des informations ! Je m'en excuse demandé moi !

Merci d'avance

16 réponses

Utilisateur anonyme
2 mars 2006 à 19:57
salut
quel est le premier champs de ta table ?
c'est quoi un entier? en créant ta table tu as cocher index?
auto incrément?
si c'est le cas essaye sans mettre '0' et en méttant ' ' ou alors '1'
je crois que le sindex commence à 1 sans certitude.
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
2 mars 2006 à 20:10
Les champs sont dans l'odre que j'ai donné j'ai un champs identifiant mais je ne demande pas qu'on le rentre... Le champs id est auto increment et c'est la clé primaire.
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 09:07
j'ai essayé ce que tu m'as di nabbla mais ça ne change rien.
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 11:43
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 'aze,aer,aertn,uia,7875,iezue,utar,8776,uhzehz,uahsnaq)' at line 1

J'ai demander à voir le numéro d'erreur ! Quelqu'un a une idée pour la résoudre?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
3 mars 2006 à 11:46
je pense moi aussi que le soucis vient de champ d'id vu que tu le fixes à 0 et qeu c'est un champ unique il ne veut pas l'inserer c'est pourquoi je te propose d'agir de la façon suivante :
$requete="INSERT INTO $table															(nom,prenom,societe,adresse,cp,ville,pays,tel,mail,sweb) 	
				VALUES
($nom,$prenom,$societe,$adresse,$cp,$ville,$pays,$tel,$mail,$sweb) 	

Si ça ne fonctionne toujours pas, je te conseil de faire un echo $requete.Puis tu la sélectionne, tu la copies, tu vas sur ton PhpMyAdmin, tu clic sur SQL afin de rentrer une requête SQL à la main, la tu colles ta requête et vu qu'elle est fausse MySQL va crier et t'afficher un joliu message d'alert qui va te dire pourquoi ta requête ne fonctionne pas..ça aide au debug.

Voilà, je pense que ça devrait focntionner..

Bonne journée
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 12:16
Merci

d'abord se fut ça
#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 '://f' at line 1

donc j'ai enlevé ://

après ça

#1136 - Column count doesn't match value count at row 1
dc j'ai mis un identifiant

et maintenant ça !!!
#1054 - Unknown column 'Aeg' in 'field list'

bref je suis perdu
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
3 mars 2006 à 13:00
oula qu'il est pas sympa MySql avec toi ! :D
Bon, t'as bien mis un champ en début genre id qui est la la clef avec un auto increment ? !
sinon pour ne pas te prendre la tête et voir d'ou veint le bug je te conseil de faire le truc genre pas à pas...
->genre tu vas sous SQl pour rentrer une requete à la main et t'en fais une toute bidon genre :
INSERT INTO carnet															(nom) VALUES ('Test')

la si ca ne passe pas c'est qu'il y a un sérieux soucis... :D
Et puis tu fais ca à chaque fois en rajoutant un champs et tu veras quel champ couille dans la synthaxe ou comment avoir une synthaxe correcte.
Bon Courage.
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 13:02
ok je vais essayer ! c'est peut être le champs ID je vais le virer pour voir
0
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
3 mars 2006 à 13:09
oula, nan laisse la champ Id car il faut qu'il y ai pour chaque enregistreement un champ qui est la clef , ce champs contient ce qui rend unique l'enregistrement.. laisse ton id.
Id sous la forme de :
id int primary key auto-increment
EnJoY :D
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 13:56
ok je vais essayer ! c'est peut être le champs ID je vais le virer pour voir
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 13:56
ok !
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 14:19
Ca marche du moins en partie
En fait j'ai mis des ' ' qd il s'agissait de varible de type varchar...
J'ai juste un prob ac l'id, je suis obligé de lui passé un nombre ! il ne me l'augmente pas, je suis obligé dans le code de modifire le numéro ! pas trés pratique ...

il me dit qu'il y a déjà un 1
1062: Duplicate entry '1' for key 1
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 14:30
Ca marche du moins en partie
En fait j'ai mis des ' ' qd il s'agissait de varible de type varchar...
J'ai juste un prob ac l'id, je suis obligé de lui passé un nombre ! il ne me l'augmente pas, je suis obligé dans le code de modifire le numéro ! pas trés pratique ...

il me dit qu'il y a déjà un 1
1062: Duplicate entry '1' for key 1
0
PNL Messages postés 148 Date d'inscription samedi 25 juin 2005 Statut Membre Dernière intervention 11 septembre 2008 89
3 mars 2006 à 15:44
c'est bon j'ai résoli le prob!!! une hitoire de ' ' sur le premier et aussi dans la base... !!!

Merci beaucoup !
0
slt j'ai un problem je veux ouvrire la connection avec une base de donnée crée avec easyphp ,je ne ss pas ou ai le problem ,j'ai un formulaire ke j'ai crée avec dreamwever
<form method="post" action="Untitled-4.php3">
<p>nom
<input type="text" name="nom">
</p>
<p>ur
<input type="text" name="url">
</p>
<p>
<input type="submit" value="Envoyer">
</p>
</form>
ensuite j'ai crée un autre dans j'ai affecter ce code php
<?
$host = "localhost";
$user = "root";
$pwd ="";

$NomBase = "sites";
$NomTable = "s1";

$connect = mysql_connect("$host","$user","$pwd");
mysql_select_db($NomBase,$connect);
$nom=$_POST['nom'];
$url=$_POST['url'];
$requete = "insert into $NomTable (nom,url) values("jalal","yyy");";
$res = mysql_query($requete,$connect);

?>
0
Merwin Messages postés 5 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 4 juillet 2007 1
3 juil. 2007 à 21:06
$requete = "insert into $NomTable (nom,url) values("jalal","yyy");"; ici enleve le premier ; ensuite tu utilise " et ensuite le meme pour tes données... changent pour ' ce qui donne:
$requete = "insert into $NomTable (nom,url) values('jalal','yyy')";
ensuite ici il ne faut pas oublier une chose... or die(mysql_error()); au moins la tu seras d'ou viens ton erreur
$res = mysql_query($requete,$connect);
ce qui donne au final
$requete = "insert into $NomTable (nom,url) values('jalal','yyy')";
$res = mysql_query($requete,$connect)or die(mysql_error());
0
j'ai fais cela mé en revenant a ma base je ne trouve pas l'enregistrement ,je ne sais pas est ce le faite d'utiliser dreamweaver ,
0
Merwin Messages postés 5 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 4 juillet 2007 1 > jalal
4 juil. 2007 à 11:10
Non je en pense pas... lorsque tu valide ce formulaire tu ne reçois aucune erreur?
0
exterminateur
15 août 2007 à 08:38
un petit problème mon ami.
Voyon je ne toucherai pas à ce que tu as fais.
Mais on va reprendre un autre exemple simple et tu comprendras une fois de bon.


Alimenter une table


Pour commencer vous allez créer la table infos_tbl dans phpMyAdmin comme suit :
requête SQL:
CREATE TABLE infos_tbl (id INT (11) not null AUTO_INCREMENT, nom VARCHAR (35) not null , prenom VARCHAR (35) not null , email VARCHAR (70) not null , icq INT (11) null , titre VARCHAR (70) not null , url VARCHAR (255) not null , PRIMARY KEY (id), INDEX (id), UNIQUE (id))

Ensuite nous allons utiliser le formulaire ci dessous qui va alimenter la table :


On va crééer un formulaire html que tu vas nommer insertion.html par exemple.

voici le code htm

<html>
<form method="POST" action="add.php">
<center>
<input type="text" name="nom" size="20" value="nom" maxlength="35"> <input type="text" name="prenom" size="20" value="prenom" maxlength="35"><br>
<input type="text" name="email" size="20" value="email" maxlength="70"> <input type="text" name="icq" size="20" value="icq" maxlength="11"><br>
<input type="text" name="titre" size="20" value="titre du site" maxlength="70"> <input type="text" name="url" size="20" value="url du site" maxlength="255"><br>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
</html>


Vous noterez les "maxlength" dans chacun des champs, ceci permet de brider le nombre de caractères maximum que le visiteur peut entrer dans le champ, bien sûr ici le "maxlength" correspond au nombre de caractères spécifié dans la création de la table infos_tbl. Cela a un intérêt, celui d'être sûr que le visiteur ne tapera pas plus de caractères que prévu.
Voyons maintenant le script PHP en lui-même, celui-ci sera contenu dans le fichier add.php auquel fait référence le POST du formulaire :


Code PHP de "add.php"

<?php
// On commence par récupérer les champs
if(isset($_POST['nom'])) $nom=$_POST['nom'];
else $nom="";

if(isset($_POST['prenom'])) $prenom=$_POST['prenom'];
else $prenom="";

if(isset($_POST['email'])) $email=$_POST['email'];
else $email="";

if(isset($_POST['icq'])) $icq=$_POST['icq'];
else $icq="";

if(isset($_POST['titre'])) $titre=$_POST['titre'];
else $titre="";

if(isset($_POST['url'])) $url=$_POST['url'];
else $url="";

// On vérifie si les champs sont vides
if(empty($nom) OR empty($prenom) OR empty($email) OR empty($titre) OR empty($url))
{
echo '<font color="red">Attention, seul le champs <b>ICQ</b> peut rester vide !</font>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'login', 'password') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('nom_de_la_base',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(id, nom, prenom,email, icq, titre, url) VALUES('','$nom','$prenom','$email','$icq','$titre','$url')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'Vos infos on été ajoutées.';

mysql_close(); // on ferme la connexion
}
?>


Explication :
La requête INSERT INTO permet donc l'insertion des champs du formulaire dans la table. Dans notre cas le premier champ reste vide car il s'agit de l'id (identifiant) qui s'incrémente automatiquement à chaque nouvelle requête INSERT.

Notez que dans le cas ou vous ne voudriez insérer que les champs Nom et Prénom dans la table vous pouvez très bien spécifier dans la requête le nom de chaque champ, comme suit :

$sql = "INSERT INTO infos_tbl(nom,prenom) VALUES('$nom','$prenom')";


Mais attention dans ce cas les autres champs de la table devront avoir l'attribut NULL et non pas NOT NULL, Null indique au champ qu'il pourra rester vide. Et si vous essayez d'insérer un nombre de valeurs différent du nombre des champs, mysql vous fera un joli message d'errreur !


Bon c'est la fin
0
Salut
voila j ai moi aussi voulu creer une base de donnees pour recuperer des infos de mon site internet vers ma bdd en appliquant ce que tu as ecris mais j ai toujours la meme erreur qui s affiche quand je test le formulaire
"Table 'nexsletter' already exists"
Pourrais tu m'aider a résoudre ce probleme
merci
0
Today Free Movies: [URL=http://deilke.cn/vid.html/amateur/]amateur[/URL], [URL=http://deilke.cn/vid.html/anal/]anal[/URL], [URL=http://deilke.cn/vid.html/asian/]asian[/URL], [URL=http://deilke.cn/vid.html/tits/]tits[/URL], [URL=http://deilke.cn/vid.html/hardcore/]hardcore[/URL], [URL=http://deilke.cn/vid.html/lesbian/]lesbian[/URL], [URL=http://deilke.cn/vid.html/mature/]mature[/URL], [URL=http://deilke.cn/vid.html/teen/]teen[/URL], [URL=http://deilke.cn/vid.html/latina/]latina[/URL], [URL=http://deilke.cn/vid.html/uniform/]uniform[/URL], [URL=http://deilke.cn/vid.html/blowjob/]blowjob[/URL], [URL=http://deilke.cn/vid.html/ebony/]ebony[/URL], [URL=http://deilke.cn/vid.html/pornstar/]pornstar[/URL], [URL=http://deilke.cn/vid.html/bdsm/]bdsm[/URL], [URL=http://deilke.cn/vid.html/bbw/]bbw[/URL], [URL=http://deilke.cn/vid.html/fetish/]fetish[/URL], [URL=http://deilke.cn/vid.html/hairy/]hairy[/URL], [URL=http://deilke.cn/vid.html/nylon/]nylon[/URL], [URL=http://deilke.cn/vid.html/interracial/]interracial[/URL], [URL=http://deilke.cn/vid.html/toying/]toying[/URL], [URL=http://deilke.cn/vid.html/fat/]fat[/URL], [URL=http://deilke.cn/vid.html/gay/]gay[/URL], [URL=http://deilke.cn/vid.html/pissing/]pissing[/URL], [URL=http://deilke.cn/vid.html/transsexuals/]transsexuals[/URL][url=http://mov.accurian.cn/toying/sx.html][IMG]http://mov.accurian.cn/teen/sx/5.gif[/IMG][/url][url=http://deilke.cn/vid.html][IMG]http://fun-porno.net/rosabella/172691772/1/gfx/thumb2.jpg[/IMG][/url] [url=http://deilke.cn/vid.html][IMG]http://pleasure-porn.com/james/388041799/1/gfx/thumb4.jpg[/IMG][/url] [url=http://deilke.cn/vid.html][IMG]http://pleasure-porn.com/james/388041799/1/gfx/thumb3.jpg[/IMG][/url] [url=http://deilke.cn/vid.html][IMG]http://pleasure-porn.com/james/388041799/1/gfx/thumb2.jpg[/IMG][/url] [url=http://deilke.cn/vid.html][IMG]http://helpporn.net/sophia/99513093/1/gfx/thumb2.jpg[/IMG][/url] [url=http://deilke.cn/vid.html][IMG]http://group-adult.net/leffe/1627759009/1/gfx/thumb1.jpg[/IMG][/url] [url=http://mov.accurian.cn/teen/sxpay.html][IMG]http://mov.accurian.cn/teen/sx/5.gif[/IMG][/url]huge toys sex shop sue johanson sex toys water sex toys adult sex toys for men strap on sex toys husband and wife sex toys kinky sex toys horse sex toys sex toys for girls sex toys clitoral toys for sexual interest remote controlled sex toys weighted balls sexy toys homemade gay sex toys use of sex toys lesbians sex toys inflatable sex toys sex toys butt plugs good sex toys adult sextoys really big sex toys homemade sex toys baby sex toys new add gay sex toys to my site amazing sex toys baby homemade sex toys xxx group sex toys baby to make homemade sex toys adult novelty sex toys sex toys apache junction discounted sex toys making sex toys sex toys for sale newsextoys baby sex toys adult sex toys australia where can i buy sex toys good vibrations sex toys surprise party sex toys homemade vagina toys sex toys sex playboy sex toys www homemade sex toys how to use women's sex toys ask the gynecologist sex toys sex toys dildos vibrators work as a sex toys product tester fetish sex toys sex toys pussy couple sex toys threesome clips couple seeking threesome woman ffm threesome story video gallery threesome mmf threesome movies threesomes with your wifes threesome sex movies threesome watersports bisexual threesome mmf free free wife threesome story plump tits tits naked huge mexican tits real big tits julia roberts tits tits and tan lines tits pictures free huge tits ass huge natural tits anal jenna jameson tits beach topless boat mooning naked nude topless topless tv mexico topless beaches tahiti topless clip girl media topless video window spring break 2006 topless headless body in a topless bar erika eleniak topless topless married woman trampling girl trampling fetish bbw fetish trampling female foot foot party trampling ball trampling foot sex trampling asian trampling face standing trampling trampling forum trampling food fetish gallery tranny video sex shemale tranny tranny fuck tranny sperm fucking tranny girl on girl blonde galleies girl school tranny lsd tranny tranny want ads tranny web sites tranny fiction tranny davina willis transsexuals porn shemales transsexuals successful transsexuals las vegas transsexuals transsexuals in transition braziliantranssexuals famous transsexuals guide so transsexualss want woman free gallery transsexuals facial feminization surgeons for transsexuals japanese transvestites sissy transvestites older transvestites and crossdressers transvestites stories transvestites in victorian clothes shemales transvestites transvestites new york city crossdressers and transvestites uk transvestites t girls transvestites sweet twinks young boink twinks free gallery pic thumbnail twinks teen and twinks for free young twinks fucking asian gay tgp twinks gay nude twinks male twinks photo search twinks cock huge movie twinks cyote search ugly bad good tab ugly suger babes ugly the ugly monkey shakespeare ugly stick fishing rods coyote ugly guitar tab ppl ugly god loves ugly track listing you aint got no alibi you ugly bad good listen soundtrack ugly seal uniforms navy service uniforms civil war uniforms for children vintage x rated nurse uniforms photos civil war replica uniforms uniforms of the third continental light dragoons view pictures of navy cpo uniforms civil war and uniforms cons of school uniforms american civil war uniforms for sale upskirts pic upskirts picture panty upskirts upskirts tgp church upskirts girls aloud upskirts schoolgirl upskirts kim clijsters tennis upskirts hingis upskirts free ictures upskirts <span style="font-size: 1px; line-height: normal">|http://www.juniorzy.cp.win.pl/forum/viewtopic.php?p=107068#107068 http://www.sigmaiota.123guestbook.com/ http://www.culture-amitie.ch/contactus.php http://punkspiritcrew.forumactif.com/post.forum?mode=newtopic
0