Zitat:
Original geschrieben von tontechniker
Das stimmt imho nicht so ganz ... zum einen ist meistens sicherer - zum anderen ist es tatsächlich weniger "Tipparbeit":
PHP-Code:
$this -> Database -> query ( 'SELECT * FROM foo WHERE a = ?', array ( $a ) );
// vs.
mysql_query ( 'SELECT * FROM foo WHERE a =' . mysql_real_escape_string ( $a ) );
|
So funktioniert das aber bei mir nicht. Ich hab folgenden Code:
PHP-Code:
<?php
$result = $dbh -> query("SELECT * FROM ?", array('accounts')) -> fetchAll(PDO::FETCH_ASSOC);
?>
Und da wirft er "Fatal error: Call to a member function fetchAll() on a non-object in C:\xampp\htdocs\Klassen\test.php on line 5".
Und im Manual steht auch, dass man prepared Statements so benutzt:
PHP-Code:
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (?, ?)");
$stmt->bindParam(1, $name);
$stmt->bindParam(2, $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
?>
Und das wär dann ja wieder bissi mehr zu tippen. Außer man schreibt sich ne Abstraktionsschicht, wo man wirklich nur das Query und die Werte in nem Array hinterherhaut und diesen ganzen Kram von der Abstraktionsschickt machen lässt. Dann wärs wieder cool.
Aber nochmal zu der persistenen Verbindung,... Die is also ziemlcih bäh, hab ich das richtig verstanden ? Bzw. könnte da mal jemand ein Beispiel für eine Anwendung geben, wo das Sinn machen würde ? Oder allgemein mal etwas ausführlicher erklären wie das funktioniert. Ich finde die 3 Sätze im Manual dazu nicht sonderlich aussagekräftig muss ich zugeben. :>
Danke übrigends für eure Geduld mit mir.