IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur sur mon Select MySQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de The Molo
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 240
    Par défaut Erreur sur mon Select MySQL
    Bonjour,

    Voici mon petit problème :

    AVANT, Je faisais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $rsinterbanner = mysql_query("SELECT DISTINCT icb.id_banners FROM inter_cat_banner icb INNER JOIN banners b ON icb.id_banners=b.id_banners WHERE icb.id_categories = $cat AND icb.status = 'yes' AND icb.del = 'no' AND b.status = 'yes' AND b.del = 'no' AND b.display_type = 'h' AND b.how_much_now > 0 ORDER BY rand()")or exit(mysql_error());
     
    $count = mysql_num_rows($rsinterbanner);
    Et tout fonctionnait correctement sans erreur.

    J'ai du rajouter une condition dans ma requète : AND b.banner_".$lg_ban." != ''

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $rsinterbanner = mysql_query("SELECT DISTINCT icb.id_banners FROM inter_cat_banner icb INNER JOIN banners b ON icb.id_banners=b.id_banners WHERE icb.id_categories = $cat AND icb.status = 'yes' AND icb.del = 'no' AND b.status = 'yes' AND b.del = 'no' AND b.display_type = 'h' AND b.how_much_now > 0 AND b.banner_".$lg_ban." != '' ORDER BY rand()")or exit(mysql_error());
     
    $count = mysql_num_rows($rsinterbanner);
    Maintenant, j'ai une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource  in ...
    Je n'ai alors plus utiliser mysql_num_rows() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $rsinterbanner = mysql_query("SELECT DISTINCT icb.id_banners FROM inter_cat_banner icb INNER JOIN banners b ON icb.id_banners=b.id_banners WHERE icb.id_categories = $cat AND icb.status = 'yes' AND icb.del = 'no' AND b.status = 'yes' AND b.del = 'no' AND b.display_type = 'h' AND b.how_much_now > 0 AND b.banner_".$lg_ban." != '' ORDER BY rand()")or exit(mysql_error());
     
    $count = 0;
    while ($rs_interbanner = mysql_fetch_array($rsinterbanner)) 
    {
    	$count++;
    }
    Mais toujours une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...

    Pourtant, je ne comprends pas, j'ai testé ma requête dans PhpMyAdmin, il n'y a pas d'erreur, elle fonctionnne mais ne me renvoie pas de ligne.

    Aurriez-vous une idée du problème ?

    Merci d'avance !

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    il y a surement un problème de syntaxe dans ta requête. Surement au niveau de la variable $lg_ban

    essaye d'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "SELECT DISTINCT icb.id_banners FROM inter_cat_banner icb INNER JOIN banners b ON icb.id_banners=b.id_banners WHERE icb.id_categories = $cat AND icb.status = 'yes' AND icb.del = 'no' AND b.status = 'yes' AND b.del = 'no' AND b.display_type = 'h' AND b.how_much_now > 0 AND b.banner_".$lg_ban." != '' ORDER BY rand()";
    pour voir ce que ça affiche

  3. #3
    Membre éclairé Avatar de The Molo
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 240
    Par défaut
    Je l'ai déjà fait.

    Avec le résultat de l'echo, je lance cette requête dans PhpMyAdmin et je n'ai aucune erreur... Elle ne me renvoie aucune ligne mais c'est normal vu que je les éléments dans la bd ne répondent pas à la requête.

    Je ne comprends vraiment pas pourquoi... ??

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    bizarre, vous avez dit bizarre ?
    Et en faisant ça en deux lignes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $req = "SELECT DISTINCT icb.id_banners FROM inter_cat_banner icb INNER JOIN banners b ON icb.id_banners=b.id_banners WHERE icb.id_categories = $cat AND icb.status = 'yes' AND icb.del = 'no' AND b.status = 'yes' AND b.del = 'no' AND b.display_type = 'h' AND b.how_much_now > 0 AND b.banner_".$lg_ban." != '' ORDER BY rand()";
    $rsinterbanner = mysql_query($req)or exit('erreur sur '.$req.'<br/>'.mysql_error());
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 966
    Par défaut
    b.banner_".$lg_ban." != ''
    Je ne pense pas que != soit valide en SQL !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 39
    Par défaut
    != est un équivalent de <>.

  7. #7
    Membre éclairé Avatar de The Molo
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 240
    Par défaut
    Merci de vos réponses !

    J'ai testé en deux lignes et aussi avec <> à la place de != mais j'ai toujours le message d'erreur...

  8. #8
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 966
    Par défaut
    Citation Envoyé par ddong Voir le message
    != est un équivalent de <>.
    Sur quel type de base de données ? Pas sur MySQL en tout cas !

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 125
    Par défaut
    Essaie de faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND b.banner_".$lg_ban." <> ''

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce qui est tres étrange c'est que si la requete ne pouvait pas etre executée, on tomberait en "exit".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Message d'Erreur sur mon Terminal
    Par highdata dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/06/2007, 21h44
  2. Resultat vide sur un select MySQL.
    Par Delphi-ne dans le forum Bases de données
    Réponses: 9
    Dernier message: 02/12/2006, 18h46
  3. [MySQL] Erreur sur un select
    Par Hayato dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/11/2006, 12h08
  4. (urgent) Erreur dans mon select à cause du NOT IN
    Par MoTUmBo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/11/2005, 20h28
  5. Paramétrer le nombre de connexion sur mon serveur Mysql
    Par Zerga dans le forum Installation
    Réponses: 2
    Dernier message: 12/12/2003, 19h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo