www.Tobbivm.de

URL: www.tobbivm.de/?Fremd-Module___EzSQL_%28PHP_MySQL-Klasse%29___Beispiele

Beispiele

include_once “ez_sql.php”;

Mit dieser Anweisung wird ezSQL im Script eingebunden, Normalerweise werden Include-Anweisungen an den Anfang eines Scripts gesetzt. Erst nach dieser Anweisung sind die Funktionen von ezSQL verfügbar.

$my_tables = $db->get_results('SHOW TABLES', ARRAY_N);

Mit get_results() wird eine Liste von Ergebnissen der Datenbank in Form eines Arrays erzeugt. Im obigen Beispiel wird das Abfrageergebnis, durch die mySQL-Anweisung 'SHOW TABLES', aus einer Liste mit den Namen der in der Datenbank enthaltenen Tabellen bestehen.
Diese Liste wird in Form eines Arrays in der Variablen '$my_tables' gespeichert.

Bei der Nutzung von '$db->get_results()', z.B. um eine Liste mit Adressen zu erhalten, wird das Ergebnis dieser Abfrage in einem mehrdimensionalen Array gespeichert. Die erste Dimension enthält einen durchnummerierten Index. Hinter jedem Index steckt ein assoziatives Array mit den weiteren Daten.

Z. B. wird bei Angabe des 3. Parameters = ARRAY_A (Assoziatives Array) ein Array wie folgt erstellt.

// Anweisung:
$users = $db->get_results(“SELECT id, name FROM users”, ARRAY_A);
 
// Rückgabe:
$users[0] = array ('id' => '1', 'name' => 'Amy');
$users[1] = array ('id' => '2', 'name' => 'Tyson');

Wenn 3. Parameter = ARRAY_N

// Anweisung:
$users = $db->get_results(“SELECT id, name FROM users”, ARRAY_N);
 
// Rückgabe:
$users[0] = array (0 => '1', 1 => 'Amy');
$users[1] = array (0 => '2', 1 => 'Tyson');

Soll ein Objekt zurückgegeben werden so wird kein 3. Parameter angegeben (Standardeinstellung!)

// Anweisung:
$users = $db->get_results(“SELECT id, name FROM users”);
 
// Rückgabe:
$users[0]->id = '1';
$users[0]->name = 'Amy';
$users[1]->id = '2';
$users[1]->name = 'Tyson';

Die Rückgabe in Form eines Objektes ermöglicht das einfache Arbeiten mit den Ergebnissen einer Datenbankabfrage unter Verwendung der Array-Funktionen die PHP bereitstellt.

Hier ein Beispiel wie einfach auf mehrzeilige Ergebnisse zugegriffen werden kann

$users = $db->get_results(“SELECT id, name FROM users”);
 
foreach( $users as $user )
{
   echo $user->id;
   echo $user->name;
}

Wenn mit Sicherheit ein Abfrageergebnis vorliegt (Vorsicht!), kann sogar ein weiterer Schritt entfallen

foreach( $db->get_results(“SELECT id,name FROM users”) as $user )
{
   echo $user->id;
   echo $user->name;
}

Wenn es aber nicht sicher ist ob ein Abfrageergebnis vorliegt, kann folgender Code benutzt werden

If ( $users= $db->get_results(“SELECT id, name FROM users”) )
{
   foreach( $users as $user )
   {
      echo $user->id;
      echo $user->name;
   }
}
else
{
   echo “No results”;
}

$db->debug();

Diese Funktion druckt die letzte SQL-Anweisung, zusammen mit einer formatierten Tabelle mit den Daten des Abfrageergebnisses aus. In der Tabelle werden zusätzlich Spalteninformationen angezeigt.

Hinweis:
Bei Verwendung der foreach-Anweisung muss darauf geachtet werden das ein Abfrageergebnis vorliegt. Dies kann wie folgt überprüft werden. Keine Rückgabe ergibt den Rückgabewert 'false'.

if ( $users = $db->get_results(“SELECT id, name FROM users”, ARRAY_A))
{
   // Your Code
}
else
{
   // Otherwise...
}

Den folgenden Aufruf der get_results Funktion kann auch verwendet werden ohne das dass Ergebnis einer Variablen zugewiesen wird. Das Ergebnis wird in jedem Fall gespeichert, bei allen Zugriffen auf die Datenbank.

$db->get_results(“DESC $table[0]”);

Die Ergebnisse können von allen ezSQL-Funktionen weiterverarbeitet werden.
Mit $db->debug() können die letzten Ergebnisse ausgegeben werden. Zusätzlich wird bei dem Aufruf einer beliebigen ez-SQL-Funktion mit einem null-Query das letzte Ergebnis zurückgegeben.

Hier ein detailliertes Beispiel:

// Users Tabelle:
// amy, amy@foo.com
// tyson, tyson@foo.com
// Any ezSQL function will store query results..
$users = $db->get_results(“SELECT name, email FROM users”);
 
// This gets a variable from the above results (offset by $x = 1, $y = 1).
echo $db->get_var(null, 1, 1);
// Note: Because a null query is passed to get_var it uses results from the previous query.