Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Db
Zend_Db Forum d'entraide pour le composant Zend_Db du Zend Framework (création de requêtes, abstraction, ORM etc.). Avant de poster -> FAQ Zend_Db.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/07/2008, 12h16   #1
Invité de passage
 
Inscription : février 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 11
Points : 2
Points : 2
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 !
bigorre1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 18h47   #2
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
Quels sont les messages d'erreur ?
__________________
Alexandre T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 20h38   #3
Invité de passage
 
Inscription : février 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 11
Points : 2
Points : 2
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
bigorre1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 09h08   #4
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
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 T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 21h18   #5
Invité de passage
 
Inscription : février 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 11
Points : 2
Points : 2
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.
bigorre1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2008, 09h15   #6
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
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 T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2008, 18h59   #7
Invité de passage
 
Inscription : février 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 11
Points : 2
Points : 2
Mais pourquoi par mysql_query cela pase alors ?
de plus , il s'agit de "SELECT *"
bigorre1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 08h48   #8
Membre Expert
 
Avatar de Alexandre T
 
Inscription : mai 2002
Messages : 1 022
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : mai 2002
Messages : 1 022
Points : 1 123
Points : 1 123
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 T.

PHP5/MySQL5 Codes prêts à l'emploi
30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc...

Mes articles
Alexandre T est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 19h50   #9
Invité de passage
 
Inscription : février 2006
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 11
Points : 2
Points : 2
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à.
bigorre1000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h33.


 
 
 
 
Partenaires

Hébergement Web