JeuWeb - Crée ton jeu par navigateur
[Résolu] Erreur de syntaxe en SQL - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Erreur de syntaxe en SQL (/showthread.php?tid=1330)



[Résolu] Erreur de syntaxe en SQL - atrus - 01-03-2008

Bonjour à tous, alors voila sur mon site je voudrai que les membres recoivent un certain nombre d'or tous les jours tout me parait bon mais ça plante voila le messages : Erreur SQL !
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 'or='300' WHERE pseudo='atrus'' at line 1

mon code source :
Citation :<? session_start(); ?>
<? if(!isset($_SESSION['pseudo']))
{ $_SESSION['pseudo']='Invité'; }
if($_SESSION['pseudo']=='Invité')
{ include('index.php'); }
else
{ ?>
<?php include "sql.php";?>
<?php
$pseudo = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");
$table=mysql_fetch_assoc($requete);
?>
<?php
$date1 = date("dm");
$date2 = $table['date'];
$or2 = $table['orjour'];
$or1 = $table['or'];
$or3 = $or1 + $or2;
echo "date 1 : $date1 ;date 2 : $date2 ;orjour : $or2 ;or : $or1 ;ornouv : $or3";
if ($date1 != $date2)
{
$sql = mysql_query("UPDATE membres SET date='$date1', or='$or3' WHERE pseudo='$pseudo'") or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
else
{
}
?>

Si vous pouviez m'aider ça serai sympa


RE: erreur syntax sql - X-ZoD - 01-03-2008

Code PHP :
<?php 
$sql
= mysql_query("UPDATE membres SET date='$date1', or='$or3' WHERE pseudo='$pseudo'") or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

le "or" est un nom ki ne peut etre utiliser dans tes script sql car elle correspond aussi a la fonction OR de sql...
or fait partie des mot interdits que tu ne peux pas utiliser

PS : il me semble que si tu les met en 'or' ca peut passer


RE: erreur syntax sql - atrus - 01-03-2008

merci beaucoup ça marche maintenant, (je débute en sql je savais pas qu'il y avait des mots interdits)

encore merci


RE: erreur syntax sql - comg - 01-03-2008

Va voir dans les post épinglés : ERREURS FREQUENTES, t'as la liste des mots interdits.

EDIT : Liste des mots interdits en MySQL


RE: erreur syntax sql - genosite - 01-03-2008

Un conseil revoie l'organisation de ton code parce que il y a des ligne qui ne servent a rien.
exemple:
Code PHP :
<?php
session_start
();
if(!isset(
$_SESSION['pseudo']))
{
$_SESSION['pseudo']='Invité';
}
if(
$_SESSION['pseudo']=='Invité')
{
include(
'index.php');
}
else
{
include
"sql.php";

$pseudo = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM membres WHERE pseudo='$pseudo'");
$table=mysql_fetch_assoc($requete);
$date1 = date("dm");
$date2 = $table['date'];
$or2 = $table['orjour'];
$or1 = $table['or'];
$or3 = $or1 + $or2;

echo
"date 1 : $date1 ;date 2 : $date2 ;orjour : $or2 ;or : $or1 ;ornouv : $or3";

if (
$date1 != $date2)
{
$sql = mysql_query("UPDATE membres SET date='$date1', or='$or3' WHERE pseudo='$pseudo'") or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
}
?>
ce n'est pas plus agréable comme ça?


RE: erreur syntax sql - NicoMSEvent - 01-03-2008

attention, pas 'or' qui est pris comme chaine de caractère, mais `or` qui est interpreté comme une table/champs (l'accent grave, pas l'apostrophe, ça a toute sont importance Wink )


RE: erreur syntax sql - X-ZoD - 01-03-2008

merci pour la corection nico ^^