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

Zend_Db PHP Discussion :

$db->query ne marche pas dans tous les cas


Sujet :

Zend_Db PHP

  1. #1
    Membre à l'essai
    Femme Profil pro
    Non défini
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Non défini

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 11
    Points
    11
    Par défaut $db->query ne marche pas dans tous les cas
    Bonjour,

    J'ai l'habitude de faire des statements :

    Mais là, je viens de m'apercevoir que
    $stmt = Zend_Registry::get('db')->query( $sql);

    ne marche qu'avec certaines tables.

    Exemple table qui marche :

    Utilisateur : champs de types : Int, longblob, bigint, varchar, char..
    Encodage : utf-8 general

    Exemple table qui ne marche pas :
    Varchar , utf8_general_ci

    Je ne comprends vraiement rien.
    Ces tables n'ont rien de particulier !

  2. #2
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Quels sont les messages d'erreur ?
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  3. #3
    Membre à l'essai
    Femme Profil pro
    Non défini
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Non défini

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Salut Alex,

    Je n'ai aucun message d'erreur.. Il ne me ramène rien du tout.. tout simplement..

    C'est dingue.

    $stmt = Zend_Registry::get('db')->query($select);


    M'affiche la requete

    et

    $stmt = Zend_Registry::get('db')->query($select)->fetchAll();

    Me ramène vide..meme avec un reporting E_ALL

  4. #4
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Peux-tu retourner la requête qui ne retourne rien ?
    Peux-tu exécuter cette requête via le client mysql (console) ?

    La différence entre utf8_general_ci et utf8_general est que le premier est insensible à la casse. Je me demande si ton soucis ne proviendrait pas d'un problème d'encodage.

    Par exemple, tu lui demandes de te retourner tous les tuples contenant "chaîne" mais MySQL reçoit une requête lui demandant de retourner tous les tuples contenant "cha@#ne"
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  5. #5
    Membre à l'essai
    Femme Profil pro
    Non défini
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Non défini

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Salut Alexandre,
    Oui j'ai testé la requête.. Elle tourne parfaitement.
    Dans l'attente de la résolution de mon pb, j'ai du codé en php..(mysql_query)

    Donc elle fonctionne parfaitement.

    s MySQL reçoit une requête lui demandant de retourner tous les tuples contenant "cha@#ne"
    Mais je ne spécifie nulle part le type de retours que je souhaite. De +, le typage n'est ps un probleme en php.

  6. #6
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Le mot chaîne a été mal chosi. Je voulais parlé d'un problème entre UTF-8 et ISO-8xxxx-15. Ta requête SQL recherche les tuples avec "vA@hicule" et et elle ne les voit pas car dans ta base c'est écrit "véhicule"
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  7. #7
    Membre à l'essai
    Femme Profil pro
    Non défini
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Non défini

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Mais pourquoi par mysql_query cela pase alors ?
    de plus , il s'agit de "SELECT *"

  8. #8
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    Signifie que tu remontes toutes les colonnes (au passage, évite de coder tes requêtes comme cela, c'est moche, ce ne sera plus dans les prochaines normes SQL et surtout c'est dangereux (Ton serveur montera inutilement en charge si un jour un autre développeur ajoute une colonne de type IMAGE dans ta table)

    Moi je te parle de ton prédicat. (C'est à dire la partie qu'il y a dans le WHERE). C'est luii qui définit en somme les lignes (tuples) que tu souhaites remonter. Et là apparement, tu ne remontes aucune ligne. Donc c'est lui qu'il faut analyser.

    Qu'est ce que tu y as mis comme filtre ?

    PS : Les erreurs ne sont pas masquées ? Tu les affiches bien quand il y en a ?
    Alexandre Tranchant
    Chef de projet AMO pour le Cerema.
    Retrouvez mes articles sur PHP et Symfony

  9. #9
    Membre à l'essai
    Femme Profil pro
    Non défini
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Non défini

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Tu as peut etre raison.
    Peut etre devrais je faire un SET NAME UTF8

    En fait, dasn le prédicat, il recherche un kanji (glyphe)..

    peut etre est ce là.

Discussions similaires

  1. [MySQL] Une requête qui ne marche pas sur tous les enregistrements
    Par Marc22 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/04/2010, 13h20
  2. Réponses: 4
    Dernier message: 26/01/2010, 11h48
  3. Réponses: 2
    Dernier message: 04/08/2009, 09h55
  4. Réponses: 1
    Dernier message: 17/03/2008, 20h29
  5. [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Par Christophe Charron dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 10h25

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