Erreur mysql et php

Répondre
LightGoku
le 13/09/2011 à 10:10
LightGoku
Bonjour,

j'ai crée une sorte de panneau d'admin d'ajout de fichier. Ce qui m'évite de ne pas passer directement par la BD pour faire des ajouts de fichiers.

Mais lorsque je valide mon formulaire d'ajout de fichier, cela m'indique une erreur : ""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 << contenu du champ >> "

J'ai remarqué que c'est lorsque qu'il y a du html dans le champ que ça me met cette erreur, et je souhaiterais savoir pour quoi?
Light
LupusMic
le 13/09/2011 à 15:49
LupusMic
Il nous faut tout le message d'erreur pour faire la lumière sur ton problème.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
LightGoku
le 13/09/2011 à 17:50
LightGoku
Voici le code source de la page :

<?php
include("./db_connect.php");
if(!empty($_POST['action'])) {

$partie = $_POST['part'];
$nom = $_POST['nom'];
$mini_description = $_POST['mini_description'];
$episode = $_POST['episode'];

$query = mysql_query("INSERT INTO ".$partie."_cat VALUES('','".$nom."','".$mini_description."','".$episode."')")or die(mysql_error());
$ok = "<b><font color=green>La série animé à été crée avec succès</font></b>";

}

?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p align="left"><b><font size="4" face="Verdana">Ajouter une série&nbsp;animé</font></b></p>
<p align="left"><u><b><font size="2" face="Verdana">Veuillez remplir les champs ci-dessous SVP</font></b></u><b><font size="2" face="Verdana">:</font></b><font face="Verdana"></font></p>
<form name="form1" method="post" action="">
<p><font size="2" face="Verdana"><b>S</b>ection :
<select name="part" id="part">
<option value="episodes">Episode</option>
</select>
</font> </p>
<p><strong><font size="2" face="Verdana">N</font></strong><font size="2" face="Verdana">om de la série&nbsp;animé</font><font face="Verdana"><br></font><i><font size="1" face="Verdana">[Mettre le nom de la série]</font></i><font face="Verdana"><br> <input name="nom" type="text" id="nom">
</font> </p>
<p><font size="2" face="Verdana"><b>D</b>escription (format html)</font><font face="Verdana"><br></font><i><font size="1" face="Verdana">[Mettre une image representant la série ainsi qu'un résumé]</font></i><font face="Verdana"><br><textarea name="mini_description" cols="102" rows="7" id="mini_description"></textarea><br></font><font size="2" face="Verdana"><b>N</b>ombre(s) episode(s)</font><font face="Verdana"><br></font><i><font size="1" face="Verdana">[Nombre épisode(s) uploadé/Nombre total d'épisode(e) de la série]</font></i><font face="Verdana"><br> <input name="episode" type="text" id="episode" value="00/00" size="4">
<br><br></font><font size="2" face="Verdana">Avant de confirmer la validation, veuillez vérifier les informations puis cliquer sur valider.</font></p>
<p>
<input type="submit" name="Submit" value="Valider">
<input name="action" type="hidden" id="action" value="1">
</p>
</form>
<p>&nbsp;<?php echo $ok; ?></p>
</body>
</html>


Quand je met un long texte avec un peu d'html dans "description" par exemple, ca me marque cette erreur
Light
LightGoku
le 14/09/2011 à 15:14
LightGoku
J'ai lu, mais je comprend pas trop. Si je comprend bien, je place le code dans ma page?
Light
LightGoku
le 16/09/2011 à 16:50
LightGoku
j'ai fait ça
<?php

if (isset($_POST['partie']) && isset($_POST['nom']) && isset($_POST['mini_description'])) && isset($_POST['episode'])) {
// Connect

$link = mysql_connect('censuré', 'censuré', 'censuré');

if(!is_resource($link)) {

echo "Échec de la connexion au serveur\n";
// ... historisation de l'erreur

} else {

// Annule les effets magic_quotes_gpc/magic_quotes_sybase sur ces variables si ON.

if(get_magic_quotes_gpc()) {
$partie = stripslashes($_POST['partie']);
$nom = stripslashes($_POST['nom']);
$mini_description = stripslashes($_POST['mini_description']);
$episode = stripslashes($_POST['episode']);
} else {
$partie = $_POST['partie'];
$nom = $_POST['nom'];
$mini_description = $_POST['mini_description'];
$episode = $_POST['episode'];
}

// Faire une requête sécurisée
$query = $query = mysql_query("INSERT INTO ".$partie."_cat VALUES('','".$nom."','".$mini_description."','".$episode."')")or die(mysql_error());
$ok = "<b><font color=green>La série animé à été crée avec succès</font></b>";
mysql_real_escape_string($partie, $link),
mysql_real_escape_string($nom, $link),
mysql_real_escape_string($mini_description, $link),
mysql_real_escape_string($episode, $link),

mysql_query($query, $link);

if (mysql_affected_rows($link) > 0) {
echo "Produit inséré\n";
}
}
} else {
echo "Remplissez le formulaire proprement\n";
} >

Mais ce n'est pas bon, que dois-je corriger?

merci :)
Light
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours