Aller au contenu

HTTP 500 Erreur interne au serveur


Sujets conseillés

Posté (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é par bigornot
Posté

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

Posté

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 ;)

Posté

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

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...