Ou est l'erreur [PHP]
txiki
Messages postés
6596
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Archeus01 Messages postés 1572 Date d'inscription Statut Membre Dernière intervention -
Archeus01 Messages postés 1572 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bonsoir à tous ! J'ai un big souci et je ne vois plus. Je fais une jointure sur 3 tables (tapas, ingredients et photos_tapas) comme ci-dessous:
url du site: http://txiki.free.fr/index.php?page=Recettes_Intro&lang=Fr
Et voici l'erreur qui s'affiche:
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 ''ingredients' ON tapas.ID=ingredients.ID LEFT JOIN 'photos_tapas' ON ingredients' at line 1
J'ai tout essayé mais l'erreur change et c'est tout !
Quelqu'un pourrait-il me regarder ce bout de code, je m'arrache les cheveux depuis plusieurs jours.
Un grand merci d'avance.
PS: je peux vous communiquer le reste du code si besoin.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Bonsoir à tous ! J'ai un big souci et je ne vois plus. Je fais une jointure sur 3 tables (tapas, ingredients et photos_tapas) comme ci-dessous:
// On selectionne seulement la ligne qui correspond à la recette choisie sur trois tables (tapas, ingredients et photos_tapas) $select = ("select tapas.Nom_Recette, tapas.Info, tapas.Preparation, tapas.Auteur, ingredients.Ingredients, photos_tapas.id, photos_tapas.Photo FROM tapas LEFT JOIN 'ingredients' ON tapas.ID=ingredients.ID LEFT JOIN 'photos_tapas' ON ingredients.ID=photos_tapas.ID");
url du site: http://txiki.free.fr/index.php?page=Recettes_Intro&lang=Fr
Et voici l'erreur qui s'affiche:
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 ''ingredients' ON tapas.ID=ingredients.ID LEFT JOIN 'photos_tapas' ON ingredients' at line 1
J'ai tout essayé mais l'erreur change et c'est tout !
Quelqu'un pourrait-il me regarder ce bout de code, je m'arrache les cheveux depuis plusieurs jours.
Un grand merci d'avance.
PS: je peux vous communiquer le reste du code si besoin.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:
- Ou est l'erreur [PHP]
- Erreur t32 ✓ - Forum Livebox
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Expert php pinterest - Télécharger - Langages
5 réponses
Bonjour,
Il me semble que tu n'utilises pas les bon caractères autour de tes noms de table.
Enlève les ' et mets des ` plutôt. Ou rien du tout.
Xavier
Il me semble que tu n'utilises pas les bon caractères autour de tes noms de table.
Enlève les ' et mets des ` plutôt. Ou rien du tout.
Xavier
+1 avec Reivax...
Et puis aussi tes ID, un coup tu les tapes en majuscule, un coup en minuscule... Forcément, ça ne va pas aller.
cf :
photos_tapas.id l4 et "photos_tapas.ID" l6 et ceci n'est pas un mot comme where que tu peux mettre en majuscule ou en minuscule, c'est l'identifiant de la colonne de ta table!
Et puis aussi tes ID, un coup tu les tapes en majuscule, un coup en minuscule... Forcément, ça ne va pas aller.
cf :
photos_tapas.id l4 et "photos_tapas.ID" l6 et ceci n'est pas un mot comme where que tu peux mettre en majuscule ou en minuscule, c'est l'identifiant de la colonne de ta table!
Bonjour à tous les deux et merci,
Reivax962: justement je les ai remplacé par des ' (au lieu des `) car c'était pareil. Au fait c'est quoi ce caractère ` ? Je n'ai jamais utilisé ça moi, toujours des ' ou ".
Archeus01: Exact, z'avais pas vu ça. Mais les identifiants (le champ ID dans les tables est bien écrit en majuscule). En fait je croyais sincèrement que c'était pareil, insensible à la casse pour ce qui concerne les id.
En tous cas merci. Je testerai ce soir, à la maison !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Reivax962: justement je les ai remplacé par des ' (au lieu des `) car c'était pareil. Au fait c'est quoi ce caractère ` ? Je n'ai jamais utilisé ça moi, toujours des ' ou ".
Archeus01: Exact, z'avais pas vu ça. Mais les identifiants (le champ ID dans les tables est bien écrit en majuscule). En fait je croyais sincèrement que c'était pareil, insensible à la casse pour ce qui concerne les id.
En tous cas merci. Je testerai ce soir, à la maison !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Aaaaah ! merci. Habituellement je ne mettais rien pour les noms des tables mais comme c'est la première fois que j'utilise les jointure... (c'est juste pour apprendre a en réaliser en fait car ces pages existent mais en html et je voulais faire quelque chose de plus évolué !
Au moins j'aurais appris quelque chose de nouveau (pour moi en tous cas !).
Merci encore mille fois.
Par contre, le champ photo est de type blob. Résultat (avant de faire ces jointures, une table complète quoi !) ça m'affichait des caractères bizarres. J'ai donc opté pour les url d'images (c'est préférable et surtout moins lourd) mais là, ça m'affiche l'url. ? ? ?
J'en déduis qu'il ne sait pas qu'il s'agit d'une url. Et easyphp (phpMyAdmin) ne me propose pas de type url pour le format du champ, à part blob et binary.
Mais je verrais ça ce soir après avoir réglé ce Pb d'affichage des recettes.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Au moins j'aurais appris quelque chose de nouveau (pour moi en tous cas !).
Merci encore mille fois.
Par contre, le champ photo est de type blob. Résultat (avant de faire ces jointures, une table complète quoi !) ça m'affichait des caractères bizarres. J'ai donc opté pour les url d'images (c'est préférable et surtout moins lourd) mais là, ça m'affiche l'url. ? ? ?
J'en déduis qu'il ne sait pas qu'il s'agit d'une url. Et easyphp (phpMyAdmin) ne me propose pas de type url pour le format du champ, à part blob et binary.
Mais je verrais ça ce soir après avoir réglé ce Pb d'affichage des recettes.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour les jointures en général on utilise where et puis on abrège le nom des tables.
Ainsi, je pense que ton select de 3km de long peut se résumer à
$select = ("select t.Nom_Recette, t.Info, t.Preparation, t.Auteur, i.Ingredients, pt.id, pt.Photo
FROM tapas as t, ingredients as i, photos_tapas as pt
WHERE t.ID=i.ID AND i.ID=pt.ID");
Pour les images ... Oui, blob est le champ pour les photos. Oui, il est préférable de mettre des URL dans la base de donnée en tant que chaine de caractère et c'est au PHP de traiter ces données ensuite pour afficher des photos et non des liens.
Dans ton traitement php, tu vas bien réussir à mettre un truc du genre tes url dans une variable
$url_photo. Après tu vas l'utiliser avec un
echo '<img src="'. $url_photo.'" />
Ainsi, je pense que ton select de 3km de long peut se résumer à
$select = ("select t.Nom_Recette, t.Info, t.Preparation, t.Auteur, i.Ingredients, pt.id, pt.Photo
FROM tapas as t, ingredients as i, photos_tapas as pt
WHERE t.ID=i.ID AND i.ID=pt.ID");
Pour les images ... Oui, blob est le champ pour les photos. Oui, il est préférable de mettre des URL dans la base de donnée en tant que chaine de caractère et c'est au PHP de traiter ces données ensuite pour afficher des photos et non des liens.
Dans ton traitement php, tu vas bien réussir à mettre un truc du genre tes url dans une variable
$url_photo. Après tu vas l'utiliser avec un
echo '<img src="'. $url_photo.'" />