Bonjour,
J'ai un petit problème. J'essaie de faire rentrer des chaînes contenant des apostrophes dans ma base de données. Bon, ça me renvoie une erreur et je me rends vite compte que les apostrophes posaient problème. J'ai essayé addslashes(), et mysql_real_escape_string(), mais l'erreur est toujours la.
Si j'utilise mysql_real_escape_string($equipement), voila l'erreur retourné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 'Aventurier'' at line 1
Et si j'utilise addslashes($equipement) même chose...j'ai du mal à comprendre.
Voici le fragment de code concerné :
if(isset($_POST['acheter']))
{
$or = $_SESSION['or'];
$nom = $_SESSION['nom'];
$prix = $_POST['prix'];
$type = $_POST['type'];
$query = mysql_query("SELECT `$type` FROM Rpaygay WHERE `nom`='$nom'") or die(mysql_error());
while($query2 = mysql_fetch_array($query))
{
$objetBDD = $query2["$type"];
$objetBDD = mysql_real_escape_string($objetBDD);
}
if(!empty($objetBDD))
{
mysql_select_db("equipements");
$prixBD = mysql_query("SELECT prix FROM equipements WHERE `nom`='$objetBDD'") or die(mysql_error());
while($prixBDD = mysql_fetch_array($prixBD))
{
$prix2 = ceil($prixBDD['prix'] / 3);
}
$prix -= $prix2;
$objetBDD = stripslashes($objetBDD);
$remplacer = "Votre ancien objet équipé $objetBDD à été revendu au marchand et vous a permis d'économiser $prix2 pièces d'or !";
}
mysql_select_db("Rpaygay");
if($or >= $prix)
{
$or = $or - $prix ;
mysql_query("UPDATE Rpaygay SET `or` = '$or' WHERE nom = '$nom' ") or die(mysql_error());
$valider = true;
}
else
{
mysql_query("UPDATE Rpaygay SET `or` = '$or' WHERE nom = '$nom' ") or die(mysql_error());
$valider = false;
}
if($valider)
{
$equipement = mysql_real_escape_string($_POST['acheter']);
echo $equipement;
mysql_query("UPDATE Rpaygay SET `$type`='$equipement' WHERE `nom`='$nom'") or die(mysql_error());
$equipement = stripslashes($equipement);
?>
<div class="info">Tu as bien acheté l'équipement <?php echo $equipement ; ?> au prix de <?php $prix3 = $prix + $prix2 ; echo $prix3 ; ?> pièces d'or.<br /><br />
<?php echo $remplacer ; ?></div><br /><br />
Un coup de main de la part d'un forumeur serait vraiment le bienvenu. Merci d'avance à tous !
Configuration: Windows Vista
Firefox 3.0.5