Ou est l'erreur [PHP]
Fermé
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
-
14 oct. 2009 à 21:48
Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 - 15 oct. 2009 à 17:01
Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 - 15 oct. 2009 à 17:01
A voir également:
- Ou est l'erreur [PHP]
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 38 free ✓ - Forum Mobile
- Une erreur inattendue s'est produite instagram ✓ - Forum Instagram
5 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
14 oct. 2009 à 22:44
14 oct. 2009 à 22:44
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
Archeus01
Messages postés
1571
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2022
449
15 oct. 2009 à 00:12
15 oct. 2009 à 00:12
+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!
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
15 oct. 2009 à 07:43
15 oct. 2009 à 07:43
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.
Archeus01
Messages postés
1571
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2022
449
15 oct. 2009 à 10:44
15 oct. 2009 à 10:44
Les accents grave (alt gr 7 sur mon clavier) sont utilisés autour des noms des tables pour ne pas utiliser de quote en php. En effet, ceux-ci sont utilisés pour encadrer des chaines qui ne doivent pas être analysés en PHP.
Ca évite les choses du genre $sql = 'select * from \'table\'';
Ca évite les choses du genre $sql = 'select * from \'table\'';
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
15 oct. 2009 à 12:56
15 oct. 2009 à 12:56
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
Archeus01
Messages postés
1571
Date d'inscription
mercredi 3 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2022
449
15 oct. 2009 à 17:01
15 oct. 2009 à 17:01
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.'" />