logokr8 PHP Workshop

back next PHP-Workshop: Datenbankverarbeitung 2

Lesen einer MySQL-Datenbanktabelle mit PEAR DB

<?php

    require 'DB.php';

    $host = 'localhost';

    $db_name = 'xanadu';

    $user = 'root';

    $pass = '';

    $dsn = "mysql://$user:$pass@$host/$db_name";

    $db = DB::connect($dsn, true);

    if (DB::isError($db)) {

        die ($db->getMessage());

    }

    $sql = 'SELECT * FROM vokabeln ORDER BY deutsch';

    $result = $db->query($sql);

    if (DB::isError($result)) {

        die ($result->getMessage());

    }

?>

<table border=1>

<tr><td>Deutsch</td><td>Englisch</td><td>Erläuterung</td></tr>

<?php

    while ($row = $result->fetchRow()) {

?>

    <tr><td><?=$row[1]?></td>

    <td><?=$row[2]?></td>

    <td><?=$row[3]?></td></tr>

<?php

    }  

    $db->disconnect();

?>

</table>

 

Demo: Diese PHP-Seite aufrufen.

 

Was lernen wir:

  1. Dieses zweite Beispiel realisiert den gleichen Funtionsumfang wie das vorige. Die Datenbankzugriffe sind jetzt aber systemneutral mit PEAR DB als sog. "Wrapper" realisiert.
  2. Mit "require DB.php" wird das mitgelieferte PHP-Paket "PEAR DB" eingebunden.
  3. PEAR DB beutzt für alle Datenbanksysteme die gleichen Befehle (unified API for accessing SQL-Databases) z.B. DB::connect, DB::isError bzw. da es sich um ein objektorientiertes Paket handelt, Methoden wie $db->query($sql), $result->fetchRow(), $db->disconnect(),....
  4. Zusätzlich wurde hier schon eine einfache Fehlerbehandlung eingebaut.

 

Link: http://pear.php.net

 

Dietrich Kracht. Copyright © 2002. All rights reserved. Page last modified: 2002-11-10