Prepared Statements

Kalito

Erfahrenes Mitglied
Hallo,

ich bei den Prepared Statements bisher 2 Varianten entdeckt

PHP:
$this->db->prepared("SELECT name FROM mitglieder Where id=?")
                        ->execute(5)
PHP:
$this->db->prepared("SELECT name FROM mitglieder Where id=:id")
                        ->bindParam(:id,5)
                        ->execute()

Wo liegt der Unterschied zwischen beiden Versionen und welche ist die bessere?

Gruß
 
Das lässt sich schwer sagen, was die bessere ist. Die zweite ist sicherlich die Übersichtlichere und auch robustere. Wenn jemand das Statement anpasst, bleiben die Referenzen erhalten. Wenn man es bei der ersten ändert, muss man in manchen Fällen sicherlich auch die Reihenfolge der Werte in execute() anpassen.

Übrigens gibt es noch die dritte Variante:

PHP:
$statement = $this->db->prepared("SELECT name FROM mitglieder Where id=?");
$statement->bindParam(1, 5);
$statement->execute();

Deine erste jedenfalls mag ich gar nicht, es sieht sehr unaufgeräumt aus.
 
Zurück