Mailinglisten-Archive |
Hallo Hannes, Hannes H. wrote: > So wie ich es verstehe, sollte mysql_query(); bei PDO durch die > PDO::query()-Methode abgebildet werden. Aber was liefert das Teil > zurück? Warum sind im Manual ständig foreach-Schleifen im Zusammenhang > mit dieser Methode? $pdo = new Pdo(...); $result = $pdo->query("SHOW PROCESSLIST"); foreach ($result->fetch(PDO::FETCH_ASSOC) as $field) { var_dump($field); } > Und wie kann (wie bei mysql_num_rows();) die > Anzahl der Spalten ermitteln? Das ist so nicht mehr ganz möglich, du kannst dir zwar noch die affected rows (z.B. beim delete) ausgeben lassen. Der Ersatz für mysql_num_rows() ist eine Query mit SELECT COUNT(*) vorher abzusetzen und dann über fetchColumn() das Ergebnis holen. > Ich glaub es ist besser, ich lass die Finger von PDO *entnervt* Hmm...hier mal ein kleines Beispiel was man mit PDO alles machen kann: <?php include_once "SPdo.class.php"; $sql = "SELECT * from foo WHERE bar = ?"; $query = SPdo::getInstance()->prepare($sql); $query->execute(array("foobar")); foreach ($query->fetch(SPdo::FETCH_ASSOC) as $field) { var_dump($field); } ?> class SPdo extends PDO { static public function getInstance() { if (self::$_pdo === NULL || !is_object(self::$_pdo)) { $dsn = 'mysql:host=localhost;dbname=name' self::$_pdo = new SPdo($dsn, "username", "password"); self::$_pdo->setAttribute(... ... return self::$_pdo; Gruss, Martin
php::bar PHP Wiki - Listenarchive