Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1414 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PDO] Problèmes avec les requêtes préparées

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PDO] Problèmes avec les requêtes préparées

n°1543216
evaisse
Posté le 16-04-2007 à 10:30:59  profilanswer
 

Je suis légèrement dubitatif.
 
J'utilise les requêtes préparées de PDO, mais mes résultats diffèrent selon la méthodes. Si j'écris :
 

Code :
  1. $sql = 'SELECT count(*) FROM  ?  WHERE ? = ? ';
  2. $Stmt = $BD->prepare($sql);
  3. $Stmt->execute( array(  'FomascPieces', 'numero', 1 ) );
  4. $row = $Stmt->fetch();

 
 
J'obtiens $row[0] = 0
 
Par contre, Si j'écris :
 

Code :
  1. $sql = 'SELECT count(*)
  2.         FROM  FomascPieces
  3.         WHERE numero = 1';
  4. $Stmt = $BD->prepare($sql);
  5. $Stmt->execute();
  6. $row = $Stmt->fetch();


 
j'ai $row[0] = 1
 
Ça laisse perplexe. Quelqu'un aurait une idée du Problème ????  
 
Note: Avec bindParam, j'ai la même chose, et même problème en utilisant les  paramètres nommés ( :table :exemple :etc ) en lieu et place des points d'interrogations.

mood
Publicité
Posté le 16-04-2007 à 10:30:59  profilanswer
 

n°1543273
soju
One shot !
Posté le 16-04-2007 à 12:07:48  profilanswer
 

ne pas utiliser de placeholder avec des identifiants (de table/champ), ce qui est logique vu que le plan de la requête ne sera pas le même selon la table/champ, donc dans ce cas la préparation de la requête n'a pas de sens.
 
Voici la requête que va donner ton 1er exemple :

SELECT count(*) FROM  'FomascPieces' WHERE 'numero' = '1'

tu remarqueras les quotes pour le nom de la table et le nom du champ :
- erreur de syntaxe, pas de quote pour le nom d'une table
- 'numero' = '1' n'est jamais vrai (numero est considéré comme une chaîne et non comme le nom d'un champ)

n°1543783
evaisse
Posté le 17-04-2007 à 14:13:41  profilanswer
 

Ok pour le paramètres de table c'est bon à savoir.
 
Sinon, pour le reste, ça marche très bien sans rien changer, effectivement on peu rencontrer des soucis avec ce genre de requête un peu laxistes, mais j'utilise pour ma part sqlite, qui ne pose jamais de soucis, puisque les colonnes ne sont pas typées.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PDO] Problèmes avec les requêtes préparées

 

Sujets relatifs
Problèmes à cause des apostrophes, slashes et autres caractères spéciaCombiner le résultat de deux requêtes sur une même table
3 problemes dans un site avec FireFox[Résolu] Problèmes d'impression
problemes d'affichage de resulats de rechercheOptimisation requetes imbriquées
PDO + MSSQL + Linux/Unix[css]divers problemes d'affichage
Nbres de requetes sql par page 
Plus de sujets relatifs à : [PDO] Problèmes avec les requêtes préparées


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR