bigornot Posté 5 Septembre 2004 Posté 5 Septembre 2004 (modifié) voilà, j'ai crée une page sur free.fr, comme d'habitude, en php, et j'ai l'impression que php a un probleme ... je pense que le probleme concerne php, et plus precisement le mysql_query('insert into ...... mon script : <?php include("in.php"); mysql_query("INSERT INTO `confirm` ( `nom` , `description` , `adresse` , `email` ) VALUES ( '$nom', '$def', '$adresse', '$email' )"); ?> <html> <head> </head> <body> </body> </html> mon message d'erreur dans la barre de titre : HTTP 500 Erreur interne au serveur mon message d'erreur dans la page : Impossible d'afficher la page Il y a un problème avec la page que vous essayez d'atteindre ; elle ne peut pas être affichée. et il me mets aussi de temps en temps : Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. alors que quand j'enleve le query, il n'y a plus de message d'erreur ... qu'est ce ? merci Modifié 5 Septembre 2004 par bigornot
bigornot Posté 5 Septembre 2004 Auteur Posté 5 Septembre 2004 tiens, nouveau probleme (l'autre n'est pas pour autant résolu) : <?php include("in.php"); mysql_connect($sql_chemin,$sql_name,$sql_pass) or die ("la connexion a echoue"); mysql_select_db("bdbourgeron"); $c = mysql_query("SELECT `clic` FROM `tutos` WHERE 'adresse' = $adresse"); $ch = mysql_result($c); mysql_query("UPDATE `tutos` SET `clic` = $ch+1 WHERE `idtut` = '1' LIMIT 1") ; header("Location: $adresse"); ?> et il me met : Warning: Wrong parameter count for mysql_result() in /var/www/free.fr/0/0/bdbourgeron/tutos/hit.php on line 6 Warning: Cannot modify header information - headers already sent by (output started at /var/www/free.fr/0/0/bdbourgeron/tutos/hit.php:6) in /var/www/free.fr/0/0/bdbourgeron/tutos/hit.php on line 8
Anonymus Posté 7 Septembre 2004 Posté 7 Septembre 2004 A première vue, les requètes telles que : mysql_query("INSERT INTO `confirm` ( `nom` , `description` , `adresse` , `email` ) VALUES ('$nom', '$def', '$adresse', '$email' )"); risquent de ne pas marcher. En effet, beaucoup de personnes ne pensent pas à 'échapper' les guillemets. Si tu as une 'description' telle que C'est la description, alors Mysql ne peut pas deviner où commencent les apostrophes/guillemets de la description, et où sont les guillemets séparateurs. Il faut donc mettre un caractère spécial devant les guillemets, un anti-slash, qui permet de dire : Cet apostrophe est à insérer dans la base, et ne sert pas à séparer les champs. Donc, ton code deviendrait : mysql_query("INSERT INTO `confirm` ( `nom` , `description` , `adresse` , `email` ) VALUES ('".addslashes($nom)."', '".addslashes($def)."', '".addslashes($adresse)."', '".addslashes($email)."' )"); Essaie comme ceci, et dis nous si ca marche, merci
Titag Posté 7 Septembre 2004 Posté 7 Septembre 2004 Salut, Anonymus a raison mais pour aller plus loin je te conseille de construire ta requète avant de l'exectuer : $requete = "SELECT blabla"; $resultat = mysql_query($requete); C'est plus facile pour trouver une erreur, tu peux "voir" ta requète en faisant un echo $requete; et tu peux la modifier facilement si nécessaire. ------- En ce qui concerne l'erreur sur mysql_result va voir : http://fr.php.net/manual/fr/function.mysql-result.php
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant