Fatal error
Résolu/Fermé
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
-
22 mai 2015 à 23:15
jordane45 Messages postés 38396 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 janvier 2025 - 28 mai 2015 à 09:31
jordane45 Messages postés 38396 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 janvier 2025 - 28 mai 2015 à 09:31
12 réponses
ReDLoG
Messages postés
243
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 octobre 2021
57
23 mai 2015 à 09:39
23 mai 2015 à 09:39
Bonjour,
Je pense que l'erreur se situe au niveau de la variable $rid_album :
Et qu'il faudrait corriger la requête comme ceci :
Cordialement.
Je pense que l'erreur se situe au niveau de la variable $rid_album :
$sql = "SELECT id_photo, lieu_photo, date_photo, nom_photo FROM tb_photo WHERE id_photo = $rid_album";
Et qu'il faudrait corriger la requête comme ceci :
$sql = "SELECT id_photo, lieu_photo, date_photo, nom_photo FROM tb_photo WHERE id_photo=".$rid_album;
Cordialement.
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
23 mai 2015 à 19:16
23 mai 2015 à 19:16
Bonjour
Merci pour ton aide, malheureusement j'ai toujours cette erreur, oui tu as raison cela vient bien de la variable $rid_album
Il y a plusieurs jours que je suis dessus je ne vois pas du tout.
Merci beaucoup de votre aide.
Merci pour ton aide, malheureusement j'ai toujours cette erreur, oui tu as raison cela vient bien de la variable $rid_album
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 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
Il y a plusieurs jours que je suis dessus je ne vois pas du tout.
Merci beaucoup de votre aide.
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
23 mai 2015 à 21:35
23 mai 2015 à 21:35
'lut,
Dans ta requête SQL, ce que tu veux, c'est le contenu de la variable elle-même, qu'on ne met absolument jamais directement dans la requête; on se sert de requêtes préparées:
issetrenvoie juste un booléen disant si la variable est définie ou non.
Dans ta requête SQL, ce que tu veux, c'est le contenu de la variable elle-même, qu'on ne met absolument jamais directement dans la requête; on se sert de requêtes préparées:
if (isset($_GET['id_photo'])) { $rid_album = $_GET['id_photo']; $sql = "SELECT id_photo, lieu_photo, date_photo, nom_photo FROM tb_photo WHERE id_photo = :rid_album"; $requete = $bdd->prepare($sql); $requete->execute(array( ":rid_album" => $rid_album )); while($donnees = $requete->fetch()) { $lieu_photo = $donnees['lieu_photo']; $date_photo = $donnees['date_photo']; $nom_photo = $donnees['nom_photo'];
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
Modifié par papyclic le 24/05/2015 à 04:35
Modifié par papyclic le 24/05/2015 à 04:35
Bonjour
Maintenant lors de l'affichage des photos, la page est blanche aucun affichage et aucune erreur retournée, c'est vraiment incroyable.
dans l'url l'id de la photo est correct
J'ai bien fait copie/collé ta correction.
Dans ma BDD j'ai bien inséré 1 photo dans 1 dossier pourtant
et dans mon dossier d'arborescence j'ai bien la photo
je te met le script complet
Merci encore de ton aide très précieuse
Maintenant lors de l'affichage des photos, la page est blanche aucun affichage et aucune erreur retournée, c'est vraiment incroyable.
dans l'url l'id de la photo est correct
index.php?body=nos_photos&type=public&id_photo=1
J'ai bien fait copie/collé ta correction.
Dans ma BDD j'ai bien inséré 1 photo dans 1 dossier pourtant
et dans mon dossier d'arborescence j'ai bien la photo
je te met le script complet
<?php if (isset($_GET['id_photo'])) { $rid_album = $_GET['id_photo']; $sql = "SELECT id_photo, lieu_photo, date_photo, nom_photo FROM tb_photo WHERE id_photo = :rid_album"; $requete = $bdd->prepare($sql); $requete->execute(array( ":rid_album" => $rid_album )); while($donnees = $requete->fetch()) { $lieu_photo = $donnees['lieu_photo']; $date_photo = $donnees['date_photo']; $nom_photo = $donnees['nom_photo']; ?> <div id="Nos_Photos"> <img src="galerie_photo/<?php echo $nom_photo; ?>" /> <br/> <b><?php echo $lieu_photo ?></b> <br/> <b><?php echo dateFR($date_photo) ?></b> </div> <?php } } ?>
Merci encore de ton aide très précieuse
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
24 mai 2015 à 10:28
24 mai 2015 à 10:28
Hum, étrange... La requête ne renverrait donc rien? À en juger par le nom des colonnes de ta table, il y a peut-être un mélange des noms de paramètres: j'ai nommé
Après, comme je n'ai pas le fonctionnement du formulaire et ce que c'est censé faire, dur de trouver ce qui cloche...
$rid_albumle contenu de
$_GET['id_photo'], en soi c'est sans incidence, mais soit on utilise la mauvaise variable GET, soit on filtre selon le mauvais champ de ta table.
Après, comme je n'ai pas le fonctionnement du formulaire et ce que c'est censé faire, dur de trouver ce qui cloche...
ReDLoG
Messages postés
243
Date d'inscription
mardi 12 mars 2013
Statut
Membre
Dernière intervention
28 octobre 2021
57
24 mai 2015 à 11:31
24 mai 2015 à 11:31
Bonjour,
Dans l'url tu fais passer l'id_photo 1
Et si je regarde l'extrait de la table mysql que tu nous présentes, il n'y a pas d'id_photo = 1 mais un id_photo = 17. J'ai comme l'impression que tu mélanges dans ta tête la colonne id_photo avec celle de rid_album qui elle, comporte bien 1 mais dans la requête SQL tu fais la clause WHERE sur l'id_photo! Tu vois où je veux en venir...
Cordialement.
Dans l'url tu fais passer l'id_photo 1
index.php?body=nos_photos&type=public&id_photo=1
Et si je regarde l'extrait de la table mysql que tu nous présentes, il n'y a pas d'id_photo = 1 mais un id_photo = 17. J'ai comme l'impression que tu mélanges dans ta tête la colonne id_photo avec celle de rid_album qui elle, comporte bien 1 mais dans la requête SQL tu fais la clause WHERE sur l'id_photo! Tu vois où je veux en venir...
Cordialement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
24 mai 2015 à 19:54
24 mai 2015 à 19:54
Bonjour
oui je vais regarder ça et je te redis
Merci en attendant
oui je vais regarder ça et je te redis
Merci en attendant
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
Modifié par papyclic le 25/05/2015 à 23:45
Modifié par papyclic le 25/05/2015 à 23:45
Bonjour
Veuillez m'excuser je suis toujours dans une impasse total, impossible de comprendre mon soucis.
Pouvez-vous m'aider s'ils vous plait.
Je vous remercie.
Voici mes 2 tables tb_album et tb_photo et mon dossier de l'arborescence où il y a la photo
fichier pour l'affichage des albums
fichier pour l'affichage des photos lequel me génére une erreur
l'erreur retournée
par contre pour l'ajout des albums et l'ajout des photos tout marche bien
Veuillez m'excuser je suis toujours dans une impasse total, impossible de comprendre mon soucis.
Pouvez-vous m'aider s'ils vous plait.
Je vous remercie.
Voici mes 2 tables tb_album et tb_photo et mon dossier de l'arborescence où il y a la photo
fichier pour l'affichage des albums
<div id="NosAlbums"> <?php $sql = "SELECT id_album, annee_album FROM tb_album ORDER BY annee_album ASC"; $requete = $bdd->prepare($sql); $requete->execute(); while ($donnees = $requete->fetch()) { $rid_album = $donnees['id_album']; $annee_album = $donnees['annee_album']; $sql2 = "SELECT * FROM tb_photo WHERE id_photo = $rid_album"; $requete2 = $bdd->prepare($sql2); $requete2->execute(); ?> <a href="./index.php?body=nos_photos&type=public&id_album=<?php echo $rid_album; ?>"> <div id="Nos_Albums"> <img src="image/dossier.png" /> <br/> <b><?php echo $annee_album ?></b> </div> </a> <?php } ?> <div class="clear"></div> </div>
fichier pour l'affichage des photos lequel me génére une erreur
<?php if (isset($_GET['id_photo'])) { $rid_album = $_GET['id_photo']; $sql = "SELECT id_photo, lieu_photo, date_photo, nom_photo FROM tb_photo WHERE id_photo = :rid_album"; $requete = $bdd->prepare($sql); $requete->execute(array( ":rid_album" => $rid_album )); while($donnees = $requete->fetch()) { $lieu_photo = $donnees['lieu_photo']; $date_photo = $donnees['date_photo']; $nom_photo = $donnees['nom_photo']; ?> <div id="Nos_Photos"> <img src="galerie_photo/<?php echo $nom_photo; ?>" /> <br/> <b><?php echo $lieu_photo ?></b> <br/> <b><?php echo dateFR($date_photo) ?></b> </div> <?php } } ?>
l'erreur retournée
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 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
par contre pour l'ajout des albums et l'ajout des photos tout marche bien
jordane45
Messages postés
38396
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2025
4 732
26 mai 2015 à 00:37
26 mai 2015 à 00:37
Bonjour.
As tu testé ta requête en direct dans ta BDD pour voir si elle fonctionne correctement ?
c'est à dire.. en remplaçant la variable par un ID existant (le 17 par exemple)
NB : J'ai bien dit en DIRECT DANS LA BDD (c'est à dire .. via phpmyadmin et non dans le code PHP ! )
As tu testé ta requête en direct dans ta BDD pour voir si elle fonctionne correctement ?
c'est à dire.. en remplaçant la variable par un ID existant (le 17 par exemple)
SELECT id_photo , lieu_photo , date_photo , nom_photo FROM tb_photo WHERE id_photo = 17
NB : J'ai bien dit en DIRECT DANS LA BDD (c'est à dire .. via phpmyadmin et non dans le code PHP ! )
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
26 mai 2015 à 07:51
26 mai 2015 à 07:51
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
27 mai 2015 à 19:14
27 mai 2015 à 19:14
Bonjour
Je vous envoie une requète qui devrais me retourner une photo, c'est également lié avec mes posts plus haut.
Pourquoi à votre avis cela ne m'affiche rien.
Merci
Ci-dessous la requète.
Je vous envoie une requète qui devrais me retourner une photo, c'est également lié avec mes posts plus haut.
Pourquoi à votre avis cela ne m'affiche rien.
Merci
Ci-dessous la requète.
$sql2 = "SELECT url FROM tb_photo2"; $requete2 = $bdd->prepare($sql2); $donnees2 = $requete2->execute(); $resultat = $donnees2['url']; ?> <div id="Nos_Albums"> <img src="galerie_photo/<?php echo $resultat; ?>" /> <br/> </div>
jordane45
Messages postés
38396
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2025
4 732
27 mai 2015 à 19:32
27 mai 2015 à 19:32
Il manque le FETCH
... et une boucle.
... et une boucle.
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
27 mai 2015 à 20:00
27 mai 2015 à 20:00
Bonjour
Si je fait ça l'affichage c'est pareil aucune image n'est retournée
Merci
Si je fait ça l'affichage c'est pareil aucune image n'est retournée
Merci
<div id="NosAlbums"> <?php $sql = "SELECT id, name FROM tb_album2"; $requete = $bdd->prepare($sql); $requete->execute(); while ($donnees = $requete->fetch()) { $album_id = $donnees['id']; $album_name = $donnees['name']; $sql2 = "SELECT url FROM tb_photo2 WHERE album_id = $album_id"; $requete2 = $bdd->prepare($sql2); $donnees2 = $requete2->execute(); $resultat = $donnees2['url']; ?> <a href="./index.php?body=nos_photos2&type=public&id=<?php echo $album_id; ?>"> <div id="Nos_Albums"> <img src="galerie_photo/<?php echo $resultat; ?>" /> <br/> <b><?php echo $album_name ?></b> </div> </a> <?php } ?> <div class="clear"></div> </div>
jordane45
Messages postés
38396
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2025
4 732
27 mai 2015 à 20:14
27 mai 2015 à 20:14
Pourquoi avoir ajouté ce SQL2 ???
Tu dois juste boucler sur ta première requête c'est tout..
Tu dois juste boucler sur ta première requête c'est tout..
jordane45
Messages postés
38396
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2025
4 732
Modifié par jordane45 le 27/05/2015 à 23:04
Modifié par jordane45 le 27/05/2015 à 23:04
Essayes donc ça :
- Utilisation d'une jointure dans la requête (pour n'en faire qu'une)
- Création des DIV / IMG .. dans un echo ..(pour éviter d'ouvrir fermer des balises PHP partout dans le code html...)
- Mise en place d'un id unique pour les div créés dans la boucle (car l'intérêt d'un ID .. c'est d'être UNIQUE ! )
Cordialement,
Jordane
- Utilisation d'une jointure dans la requête (pour n'en faire qu'une)
- Création des DIV / IMG .. dans un echo ..(pour éviter d'ouvrir fermer des balises PHP partout dans le code html...)
- Mise en place d'un id unique pour les div créés dans la boucle (car l'intérêt d'un ID .. c'est d'être UNIQUE ! )
<div id="NosAlbums"> <?php $sql = "SELECT A.id , A.name , P.url FROM tb_album2 A LEFT JOIN tb_photo2 P ON P.album_id = A.id"; $requete = $bdd->prepare($sql); $requete->execute(); while ($donnees = $requete->fetch()) { $album_id = $donnees['id']; $album_name = $donnees['name']; $img = $donnees2['url']; echo "<a href='./index.php?body=nos_photos2&type=public&id=".$album_id."'> <div id='Albums_".$album_id."'> <img src='galerie_photo/".$img."' alt='".$img."'></img> <br/> <b>".$album_name."</b> </div> </a>"; } ?> <div class="clear"></div> </div>
Cordialement,
Jordane
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
28 mai 2015 à 07:29
28 mai 2015 à 07:29
Bonjour,
J'ai essayé tel quel ta requète avec jointure, malheureusement la page est blanche aucun affichage.
J'ai fait la try=>catch et rajouter le "WHERE id = $album_id";" l'erreur est la même
C'est tout de même incroyable, je ne sais plus quoi faire j'ai utilisé tout ce que je pouvais faire.
les photos sont bien présentent dans le dossier "galerie_photo" à la racine du site.
Si tu as encore un peu de temps pour m'aider.
Je te remercie.
J'ai essayé tel quel ta requète avec jointure, malheureusement la page est blanche aucun affichage.
J'ai fait la try=>catch et rajouter le "WHERE id = $album_id";" l'erreur est la même
Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 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 6
C'est tout de même incroyable, je ne sais plus quoi faire j'ai utilisé tout ce que je pouvais faire.
les photos sont bien présentent dans le dossier "galerie_photo" à la racine du site.
Si tu as encore un peu de temps pour m'aider.
Je te remercie.
papyclic
Messages postés
446
Date d'inscription
mercredi 5 novembre 2014
Statut
Membre
Dernière intervention
18 octobre 2016
3
28 mai 2015 à 07:47
28 mai 2015 à 07:47
Bonjour
Ne tiens pas compte de mon précédent post, ça y est ta requète fonctionne l'image s'affiche bien.
Je te remercie nickel
Cordialement.
Ne tiens pas compte de mon précédent post, ça y est ta requète fonctionne l'image s'affiche bien.
Je te remercie nickel
Cordialement.
jordane45
Messages postés
38396
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 janvier 2025
4 732
28 mai 2015 à 09:31
28 mai 2015 à 09:31
Par contre.. n'oublie pas ...
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
Cordialement,
Jordane
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)
Cordialement,
Jordane