Bonjour,
Je ré-apprends à programmer en PHP en utilisant les requêtes préparées. Je comprends le principe, reste à comprendre la syntaxe.
Si je prends ces deux exemples, trouvés au hasard du net :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $requete = $this->_bdd->prepare('SELECT * FROM Oeuvres ORDER BY :parOrdreDe DESC '); $requete->bindValue(':parOrdreDe', $ordre); $requete->execute() or die(print_r($this->_bdd->errorInfo()));Par rapport à l'ancienne méthode - les requêtes "non-préparées" - je ne reconnais pas la syntaxe du ORDER BY, par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?"); if ($stmt->execute(array($_GET['name']))) { while ($row = $stmt->fetch()) { print_r($row); }
- Qu'est-ce que ce ":" ?
- Qu'est-ce que ce "bindValue" ?
- Pourquoi a-t'on $requete = $this->_bdd-> dans le premier cas et puis ensuite $stmt = $dbh->prepare dans le second cas (l'étape du _bdd a alors disparu).
Etc...
J'aurais besoin d'un "catalogue" des requêtes préparées : comment se présente une requête avec et sans clause where, avec des AND dans les clauses where, les requêtes avec clef étrangère, etc... etc... Je voudrais voir tous les cas de figure possible.
Idem avec les requêtes INSERT.
Merci d'avance pour votre aide et votre patience.
Partager