Du bist hier: Startseite > Fremd-Module > EzSQL (PHP MySQL-Klasse) > 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.

Aktuell

Neustart / Weiterführung des Projektes.
Nach einigen Versuchen, mit Open-Source-Software einen mir passenden Shop aufzubauen, muss ich feststellen, dass es KEINEN, meinen Anforderungen entsprechenden Shop gibt. Wenn dann ist mit Kosten im vierstelligen Bereich auszugehen und ein oft nur von Nutzern des jeweiligen Shop(systems) geleisteter Support/Hilfe hilft bei Problemen (wenn er kann und es so etwas überhaupt gibt!). Hier fehlt eben teilweise das Fachwissen des jeweiligen Systems.
Die anderen bieten "Erweiterungen" (Plugins) an, die in einem Shop eigentlich nicht fehlen dürften - So kann man auch nachträglich noch Geld machen. Erweiterungen und Templates werden scheinbar ohne gründliche Prüfungen als "tauglich" angeboten (teilweise für recht hohe Preise) und wenn es dann knallt, wird man schön alleingelassen. Auch gibt es Systeme, bei einem fast leeren Shop, die aus über 48.000 Dateien bestehen - wer pflegt hier eigentlich den Code?

Es reicht, es geht also schön weiter mit TobbiVM-Shop!

nach oben