J'ai une erreur de syntaxe à partir d'une requête MySQL qui me déroute un peu. Autant que je peux voir en ligne ceci semble être la manière correcte de fonctionner et je suis certain que j'ai le nom de table et les variables corrects.Erreur de syntaxe dans la recherche MySQL qui apparaît correcte
Voici donc l'erreur que je reçois;
Error: 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 'AND `date` = ORDER BY 'scriptno' ASC' at line 3`
et est le code ici qui semble être le problème [mais pour autant que je peux voir ce n'est pas ...
$data = mysql_query("SELECT script FROM `tableoscripts` WHERE `event` = $_GET[$eventq] AND `date` = $_GET[$dateq] ORDER BY 'scriptno' ASC") or die ('Error: '.mysql_error());
Si vous demandez la page précédente est à la tête de cette l'un utilise la méthode get et les détails apparaissent dans la barre d'adresse après la soumission.
S'il vous plaît ne mettez pas les valeurs de '_GET' $ directement dans les requêtes; vous rendez votre script vulnérable à [injection SQL] (http://php.net/manual/en/security.database.sql-injection.php). – Amber
Avez-vous défini $ eventq? Êtes-vous sûr de ne pas vouloir dire $ _GET ['eventq']? En outre, vous ne devez jamais utiliser l'entrée utilisateur directement. Utilisez PDO/mysqli. Écho la dernière requête pour voir ce que c'est. – Jessica
lorsque j'utilise des valeurs de tableau dans des chaînes, je dois généralement mettre des boucles autour d'eux .... 'date = '{$ _GET [$ dateq]}' ordre par ...' ... et vous devriez essayer de mettre toute la requête une variable et faites un var_dump dessus pour voir ce qui se passe réellement à la chaîne avant d'essayer d'exécuter la requête. assurez-vous que la requête est réellement ce qu'elle devrait être et s'exécute directement dans mysql avant d'exécuter via PHP. –