Page 1 sur 1

problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 00:50
par malcolm1482
Bonsoir tout le monde, j'ai beaucoup de problèmes et je tiens à remercier tout le monde (ils se reconnaitront :wink: ) pour leur aide précieuse qui me permette de sortir la tête de l'eau et d'apprendre en même temps.

Grâce à l'aide de Mazzarini, Moogli et de macgawel, j'ai enfin réussi a faire ce que je souhaitais. Désormais je peux me lancer dans mon vrai projet

Voila je cherche à monter un formulaire qui complète une base de données il s'inspire de ce site http://www.phpdebutant.org/article67.php depuis ce soir je m'énerve car je ne comprend pas pourquoi j'obtient un message sql d'erreur alors que le modèle de démo marche

le dossier de mon projet est à l'adresse suivante http://www.megaupload.com/?d=1BTNLMWX.
Dans ce dossier, il ya
_ un txt avec le code sql a copier coller dans une database sql
_ le formulaire html
_ add.php qui permet l'action d'enrichissement de la table.
_ un autre fichier txt est un copier/coller de l'erreur.

PS : Ne me grondez pas si tout est en VARCHAR, je le sais, je corrige les formats dans phpmyadmin ; la requete sql ne passait pas :cry:

Si quelqu'un pouvait m'aider ou m'aiguiller

Merci d'avance.

=D> Encore félicitations aux membres du forum pour leur aide, leur réactivité et leur serviabilité.=D> Rien ne leur fait peur

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 08:38
par Mazarini
Bonjour,

Le plus simple serai de nous montrer le SQL qui plante et le message d'erreur

Une modification de ton code dans ce genre fera l'affaire pour l'accès qui pose problème.
$SQL = ?:
mysql_query($SQL);
if (mysql_errno() <> 0) echo $SQL,'<br>',mysql_error(),'<br>';

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 10:59
par malcolm1482
bonjour Mazarini
je te joins la requête en question (elle est longue)

     // on écrit la requête sql 
    $sql = "INSERT INTO metadata (id, titre, Description, identifiant, theme_iso1, theme_iso2, theme_iso3, Extension_geo, nord, sud, est, ouest, Date_data, Date_publi, Date_revision, etendue_temporelle_deb, etendue_temporelle_fin, genealogie, contact_org, contact_adresse, contact_ville, contact_CP, organisme_org, organisme_adresse, organisme_ville, organisme_CP, organisme_mail, contraintes_acces, motscles1, motscles2, motscles3, motscles4) VALUES('', '$titre', '$Description', '$identifiant', '$theme_iso1', '$theme_iso2', '$theme_iso3', '$Extension_geo', '$nord', '$sud', '$est', '$ouest', '$Date_data', '$Date_publi', '$Date_revision', '$etendue_temporelle_deb', '$etendue_temporelle_fin', '$genealogie', '$contact_org', '$contact_adresse', '$contact_ville', '$contact_CP', '$organisme_org', '$organisme_adresse', '$organisme_ville', '$organisme_CP', '$organisme_mail', '$contraintes_acces', '$motscles1', '$motscles2', '$motscles3', '$motscles4)";
    // on insère les informations du formulaire dans la table 
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
Merci encore

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 11:08
par Mazarini
Bonjour,

Qu'affiche le "OR die('Erreur SQL !'.$sql.'<br>'.mysql_error());" ?

Le message toi t'indiquer une piste pour trouver l'erreur. Par exemple qu'il manque une quote dans ton ordre SQL ou que id n'est pas numérique.

Tu peux faire un copié/collé de la requête affichée lors du die(...) et l'exécuter via phpmyadmin.

De plus si une de tes variables contients une quote, cela peut faire planter la requete (cf fonction mysql_real_escape_string)

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 11:32
par malcolm1482
voila ce que m'affiche le résultat quand je valide mon formulaire
Erreur SQL !INSERT INTO metadata (id, titre, Description, identifiant, theme_iso1, theme_iso2, theme_iso3, Extension_geo, nord, sud, est, ouest, Date_data, Date_publi, Date_revision, etendue_temporelle_deb, etendue_temporelle_fin, genealogie, contact_org, contact_adresse, contact_ville, contact_CP, organisme_org, organisme_adresse, organisme_ville, organisme_CP, organisme_mail, contraintes_acces, motscles1, motscles2, motscles3, motscles4) VALUES('', '01-01-2010', '', 'D01', 'test', 'urbanisme', 'développement économique', 'RGF93_Lambert_93', '7083515.605100', '7045866.790000', '662668.9546', '621829.594700', '01-01-2010', '01-01-2010', '01-01-2010', '01-01-2010', '01-01-2010', 'Version officielle', 'moi', 'mon adresse', 'ma ville', '00000', 'moi', 'mon adresse', 'ma ville', '00000', '[email protected]', 'Droits particuliers', 'test', 'test', 'test', 'test)
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 ''test)' at line 1
je n'ai pas le tableau orange qui me dit qu'il y a une erreur mais qu'il y a une erreur de syntaxe.

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 11:42
par moogli
si tu regarde bien ta requete SQL tu verre qu'il te manque une ' au dernier champ (test)


@+

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 11:46
par malcolm1482
Merci j'avais pas vu ça marche

Re: problème de requête formulaire php/mysql

Posté : 01 juil. 2011, 13:19
par moogli
de rien, c'est écrit dans le message d'erreur : for the right syntax to use near ''test)' en gros : trouve la bonne syntaxe prés de "test)" et la on voit le truc ;) (pour c'est la traduction avec mes mots a moi hein c'est pas de l'académique ;) )

peut tu marquer ton sujet comme résilo ? :)

@+