2010-12-14 4 views
1

J'essaie d'utiliser cette requêteErreur MySQL Query

$page_set = mysql_query("SELECT * FROM pages WHERE subject_id = 
      {$subject["id"]}", $connection); 

mais je continue à obtenir cette erreur lors du chargement ma page.

La requête de la base de données a échoué: vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « » à la ligne 1

+0

Pourriez-vous poster un 'var_dump' de' $ subject ['id'] '? – Stephen

+0

Je ne sais pas comment trouver que –

+0

'var_dump ($ subject ['id']);' – Stephen

Répondre

3

Essayez sans la syntaxe complexe:

$query = 'SELECT * FROM pages WHERE subject_id = ' . $subject['id']; 
$page_set = mysql_query($query, $connection); 

Soit dit en passant, je déteste l'analyse syntaxique variables dans les chaînes, et préfèrent concaténation.

+1

souhaitez que vous ayez fait de cette déclaration de dégoût un commentaire, donc je pourrais le +1 – zanlok

2

vous rencontrez un décalage de citation. Essayez de remplacer les guillemets autour de votre clé de tableau par des guillemets simples.

$page_set = mysql_query("SELECT * FROM pages WHERE subject_id = 
      {$subject['id']}", $connection); 
1
$sql = "SELECT * FROM pages WHERE subject_id = '".$subject["id"]."'"; 
$page_set = mysql_query($sql, $connection); 

Assurez-vous d'échapper le sujet_id également.

+0

Vous êtes le seul celui qui fonctionne. Je ne reçois aucune erreur, mais elle ne liste pas non plus les pages. –

+0

Est-ce que vous bouclez dessus avec quelque chose comme mysql_fetch_object? Peut-être que c'est vide? Si tel est le cas, nous vous suggérons d'exécuter votre requête dans phpmyadmin ou mysql workbench, il est beaucoup plus facile de développer des requêtes dans ces environnements. – Keyo