Je suis en train de faire un formulaire pour créer des personnages sur mon site, et depuis bientôt 2jours, je me retrouve face à une erreur qui est très certainement toute bête mais qui me pose un gros problème, je ne peux pas avancer...
Voici l'erreur affichée :
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 'Force , Intelligence , Recup ' at line 9
Énervant...
J'ai essayé en enlevant " Vie, Force, Intelligence, Recup " ainsi que leurs valeurs, et là miracle ! Tout se passe bien... Mais c'est que j'ai vraiment besoin de ces valeurs...
Voici mon code :
Code : Tout sélectionner
// Affiche le formulaire si l'utilisateur est connecté
if(!isset($_COOKIE["ID_UTILISATEUR"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z_]{3,12}$", $_POST["TB_Nom_Perso"]))
{
$message = "Votre nom de personnage doit comporter entre 4 et 12 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("*****");
// Vérification de l'unicité du nom du perso
$result = mysql_query("
SELECT Nom_Perso
FROM Personnages
WHERE Nom_Perso = '" . $_POST["TB_Nom_Perso"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Erreur d'accès à la base de données lors de la vérification d'unicité";
}
else
{
// Si un enregistrement est trouvé
if(mysql_num_rows($result) > 0)
{
while($row = mysql_fetch_array($result))
{
if($_POST["TB_Nom_Perso"] == $row["Nom_Perso"])
{
$message = "Le nom " . $_POST["TB_Nom_Perso"];
$message .= "est déjà utilisé";
}
}
}
else
{
// Création du personnage
$result = mysql_query("
INSERT INTO Personnages(
Nom_Perso
, Classe
, Argent
, Ptsstats
, Level
, Compte
, Vie
, Force
, Intelligence
, Recup
)
VALUES(
'" . $_POST["TB_Nom_Perso"] . "'
, '1'
, '10'
, '0'
, '1'
, '" . $_COOKIE["ID_UTILISATEUR"] . "'
, '10'
, '10'
, '10'
, '10'
)
");
// Si une erreur survient
if(!$result)
{
die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
}
else
{
// On masque le formulaire
$masquer_formulaire = true;
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
Ou même si vous avez une solution alternative, elle serait la bienvenue
En attendant merci d'avoir passé quelques instants sur mon post!
Vulfhelm.