Page 1 sur 1

Probléme You have an error in your SQL syntax

Posté : 05 oct. 2008, 17:27
par mrarobaz
Bonjour,

Cela fait plus de 3heures que je cherche la cause de cette 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 '' at line 1

Je sais pas si cela vient de mon fichier qui affiche l'erreur ou pas ?
Que signifie cette erreur , car je n'est rien trouver de congré pour repondre a ma question.


<? // Paramètres de connexion
 

require_once('admin/includes/connect.inc.php');

    // Lecture du paramètre id (méthode GET pour PHP>=4.1)
	$script_id = $_GET["script_id"];

    // Recherche de l'URL correspondant à l'identifiant id
    $requete = "SELECT * FROM script WHERE script_id=$script_id";
    // on sélectionne toutes les entrées de la table
	$resultat = mysql_query ($requete)or die(mysql_error());
	$data = mysql_fetch_array($resultat)
?>

<script language="JavaScript">   
var control1 = false;

function verifier(num){
if(num == 1){
control1 = true;
}
if(control1 || control2 || control3 ){
window.location.replace( "script.php?script_id=<? echo $data['script_id'] ; ?>");
}
}
</script>
Merci

Posté : 05 oct. 2008, 17:43
par Ryle
Le message t'indique tout simplement que tu as une erreur de syntaxe dans la requête SQL que tu envois à mysql. Normalement le " near '' " t'indique l'endroit exacte ou démarre le problème, mais c'est vrai que là, c'est pas très explicite....

Première chose à faire dans ces cas là, afficher la requête générée (parce que si à première vue, elle ne pose pas de problème, ça peut changer du tout au tout en fonction de la valeur de ta variable $script_id :)

Donc affiche, regarde la tête que ça a (montre la nous éventuellement), test l'exécution dans phpMyAdmin, ... ca devrait te permettre d'y voir plus clair :)

Posté : 05 oct. 2008, 17:44
par @rthur
Bonjour,

Fais un print de ta requête avant de l'exécuter et teste là dans phpMyAdmin, ça devrait t'aider pour débuguer. ;)

Posté : 05 oct. 2008, 17:59
par mrarobaz
Déjà merci pour vos réponse

J'ai pas trop comprit comment tester vu qu'il y a l'erreur ?

ensuite vos réponse m'on permit de me pencher sur la requête
 $requete = "SELECT * FROM script WHERE script_id=$script_id";
et quand je met les " j'ai l'erreur si je met juste ' (l'apostrophe) il me dit

Unknown column '$script_id' in 'where clause'

OK j'ai comprit en relisant mon poste :D j'ai donc remit le " et ajouter ' a ma variable dans la requête
 $requete = "SELECT * FROM script WHERE script_id='$script_id' ";
Merci a vous