FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Vous n'êtes pas identifié(e).

#1 23-11-2013 00:35:26

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

[Résolu] Problème SQL

Bonsoir,

je suis entrain de bosser sur une mod perso, j'ai donc créé un requête SQL :

$result = $db->query('SELECT f.id, f.type, f.titre, f.titre_orig, f.url_affiche, f.annee, f.sortie, f.acteur, f.realis, f.genre, f.synopsis, f.screen, r.idr, r.nom_release, r.qualite, r.langue, r.sous_titre, r.format_video, r.format_audio, r.NFO, r.taille, r.unit_taille FROM '.$db->prefix.'fiche AS f INNER JOIN '.$db->prefix.'release AS r WHERE (f.id='.$fiche_id.' AND r.id_fiche='.$fiche_id.')') or error('Unable to fetch fiche info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
    message($lang_common['Bad request'], false, '404 Not Found');
$cur_fiche = $db->fetch_assoc($result);

Et elle me retourne "Unable to fetch fiche info." Cela fait plus d'une heure que je cherche mon erreur mais en vains hmm

Les 2 tables existent ainsi que toutes les colonnes.

Un grand merci d'avance à celui qui pourra m'aider smile

Dernière modification par Calvin Klein (23-11-2013 10:30:47)

Hors ligne

#2 23-11-2013 10:50:40

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Problème SQL

Bonjour,

Pas essayé, mais les jointures se font avec ON :

$query = 'SELECT f.id, f.type, f.titre, f.titre_orig, f.url_affiche, f.annee, f.sortie, f.acteur, f.realis, f.genre, f.synopsis, f.screen, r.idr, r.nom_release, r.qualite, r.langue, r.sous_titre, r.format_video, r.format_audio, r.NFO, r.taille, r.unit_taille
  FROM '.$db->prefix.'fiche AS f
    INNER JOIN '.$db->prefix.'release AS r
      ON f.id = r.id
  WHERE f.id = '.$fiche_id.'';

$result = $db->query($query) or error('Unable to fetch fiche info', __FILE__, __LINE__, $db->error());

Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 23-11-2013 11:36:18

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

Re : [Résolu] Problème SQL

Merci mais ça ne marche toujours pas du coup j'ai essayé de simplifier et de décomposer

//Recup info fiche 
$query = 'SELECT *
	FROM fiche
		WHERE id = '.$fiche_id.'';
$result = $db->query($query) or error('Unable to fetch fiche info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result)) message($lang_common['Bad request'], false, '404 Not Found');
$cur_fiche = $db->fetch_assoc($result);

//Recup info release
$query_ = 'SELECT *
	FROM release
		WHERE id_fiche = '.$fiche_id.'';
$result_ = $db->query($query_) or error('Unable to fetch release info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result_)) message($lang_common['Bad request'], false, '404 Not Found');
$cur_fiche = $db->fetch_assoc($result_);

Et là c'est la 2ème requête qui se met en erreur : "Unable to fetch release info" hmm
Je comprends pas pourtant j'ai fait la même chose pour les 2 ..

Hors ligne

#4 23-11-2013 11:49:28

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Problème SQL

Bonjour,

Faudrait peut-être aller faire un tour dans PhpMyAdmin (Ou autre gestionnaire de base de données) pour voir si la table existe bien, si le champ id_fiche existe aussi, etc.
Et puis, on peut aussi valider les modes DEBUG et SHOW_QUERY, par exemple avec un plugin : http://fluxbb.fr/forums/viewtopic.php?id=13136


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#5 23-11-2013 11:58:49

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

Re : [Résolu] Problème SQL

Otomatic a écrit :

Bonjour,

Faudrait peut-être aller faire un tour dans PhpMyAdmin (Ou autre gestionnaire de base de données) pour voir si la table existe bien, si le champ id_fiche existe aussi, etc.
Et puis, on peut aussi valider les modes DEBUG et SHOW_QUERY, par exemple avec un plugin : http://fluxbb.fr/forums/viewtopic.php?id=13136

Les tables et les champs existent tous, je les ai crées.

Je vais look ça merci smile

Hors ligne

#6 23-11-2013 12:05:23

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

Re : [Résolu] Problème SQL

An error was encountered a écrit :

File: D:\wamp\www\fw\viewfiche.php
Line: 28

FluxBB reported: Unable to fetch release info

Database reported: 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 'release WHERE id_fiche=1' at line 2 (Errno: 1064)

Failed query: SELECT * FROM release WHERE id_fiche=1

Pourtant j'ai bien la table release, j'ai bien une colonne id_fiche et j'ai bien une ligne où id_fiche=1

Hors ligne

#7 23-11-2013 15:52:24

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Problème SQL

Bonjour,

Dans les deux tables fiche et release, la colonne id_fiche est bien déclarée exactement du même type.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#8 24-11-2013 19:20:46

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

Re : [Résolu] Problème SQL

Otomatic a écrit :

Bonjour,

Dans les deux tables fiche et release, la colonne id_fiche est bien déclarée exactement du même type.

fiche >> id >> int(11) autoincrement

release >> id_fiche >> int(11)

Hors ligne

#9 24-11-2013 19:44:04

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Problème SQL

Bonsoir,

J'ai cogité, ça a tourné dans ma tête un bon moment et puis BINGO wink "release" (majuscule ou minuscule) fait partie des mots réservés MySQL qui ne peuvent donc pas être utilisés comme noms de base, table ou colonne.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#10 24-11-2013 20:59:07

Calvin Klein
Membre
Inscription : 08-01-2012
Messages : 51

Re : [Résolu] Problème SQL

Otomatic a écrit :

Bonsoir,

J'ai cogité, ça a tourné dans ma tête un bon moment et puis BINGO wink "release" (majuscule ou minuscule) fait partie des mots réservés MySQL qui ne peuvent donc pas être utilisés comme noms de base, table ou colonne.

Ahway j'y est même pas pensé ...


UN GRAND MERCI A TOI !!!!!!!! smile

Hors ligne

Pied de page des forums