PDO::FETCH_ASSOC global defenieren
André Laugks
- php
Hallo!
Ich möchte PDO bebringen, immer ein assoziatives Array auszugeben. Anscheint muß man das wohl nach jedem Statment machen.
$sql = "SELECT * FROM language ORDER BY id_lang";
$rs = $pdo->query($sql);
$rs->setFetchMode(PDO::FETCH_ASSOC);
while ($row = $rs->fetch()) {
print_r($row);
}
André Laugks
Hallo!
Man kann soetwas in der richtung machen:
class myPDO extends PDO {
public function execute($sql) {
$rs = $this->query($sql);
$rs->setFetchMode(PDO::FETCH_ASSOC);
$rows = $rs->fetchAll();
return $rows;
}
}
$pdo = new myPDO('pgsql:host=localhost;dbname=DBNAME', 'foo', 'bar');
Man baut sich eine eigene Methode dazu. Aber ob das der Sinn ist bzw. überhaupt nötig?!
André Laugks
echo $begrüßung;
Man baut sich eine eigene Methode dazu. Aber ob das der Sinn ist bzw. überhaupt nötig?!
Sobald das Projekt größer wird, ist es auch sinnvoll, Datenbankfunktionen zu kapseln und aus der eigentlichen Geschäftslogik herauszunehmen. Idealerweise holt man sich dann Daten mittels eines einzigen Funktionsaufrufs und bekommt damit einen schönen schlanken und übersichtlichen Geschäftslogikteil. Das hat auch den Vorteil, dass man man die Datenquelle wechseln kann, ohne den Rest des Programms groß anfassen zu müssen.
echo "$verabschiedung $name";
Hallo!
Sobald das Projekt größer wird, ist es auch sinnvoll, Datenbankfunktionen zu kapseln und aus der eigentlichen Geschäftslogik herauszunehmen.
Ich arbeite seit sehr langer Zeit mit em Abstraktionslayer AdoDB. Ich liebe AdoDB. Da PDO ist nativ in PHP, ist also schneller als jeder anderer Abstraktionslayer.
Wenn ich aber so herumwürgen muß, sind mir ein paar Milisekunden egal.
Grüße
André Laugks
echo $begrüßung;
Ich möchte PDO bebringen, immer ein assoziatives Array auszugeben.
Probier es mit PDO::setAttribute() oder als driver_options-Parameter im Konstruktur und dem Parameter PDO::ATTR_DEFAULT_FETCH_MODE.
echo "$verabschiedung $name";
Hallo!
Probier es mit PDO::setAttribute() oder als driver_options-Parameter im Konstruktur und dem Parameter PDO::ATTR_DEFAULT_FETCH_MODE.
Mein Testserver ist runter gefahren. Ich werde das morgen mal probieren.
André Laugks