PHP4-Forum
Forum | Befehle | MySQL | Beispiele | Newsletter | Suche | Home

Untermenü

Datenbanken
Was ist das?
PHP und MySQL
Erstellen DB
Tabellen
Anweisungen
Primary Key
ODBC
Vorteile

Zu dieser Seite

Anweisungen
MySQL und PHP
CREATE TABLE
ALTER TABLE
SELECT
INSERT
UPDATE
Anwendung der MySQL Befehle in PHP

Alle MySQL-Befehle können direkt in PHP ausgeführt werden. Dazu muss der jeweilige Befehl in dem PHP-Befehl mysql_query() aufgerufen werden:
$result = mysql_query("SELECT * FROM gbook");

Von mysql_query() wird eine positive Ganzzahl zurückgegeben, die folgende Werte annehmen kann:

0
Ein Fehler ist aufgetreten. Die Fehlermeldung lässt sich mit mysql_error() aufrufen, die Fehlernummer mit mysql_errno():
$result = mysql_query("SELECT * FROM gbook");
if(!$result) echo "Fehler: ".mysql_error();

Andere schreibweise wäre:
$result = mysql_query("SELECT * FROM gbook") or die(mysql_error());

Der Befehl wurde korrekt ausgeführt, z.B. bei DELETE- oder INSERT-Anweisungen. Mit mysql_affected_rows() lässt sich abrufen wieviele Zeilen davon betroffen waren. Bei einer INSERT-Anweisung, in der ein Feld mit "AUTO INCREMENT" vorkam, so lässt sich die dort eingefügte Nummer mit mysql_insert_id() abrufen:
$result = mysql_query("INSERT INTO gbook (name) VALUES ('$name')");
[FONT:if($result==1) echo "Eintrag wurde hinzugefügt (ID ".mysql_insert_id().")";]

Der Befehl wurde korrekt ausgeführt und es wurde ein Ergebnis zurückgegeben (bei SELECT-Anweisungen). Jetzt ist aber nicht etwa der zurückgegebene Wert die Anzahl der Zeilen in dem Ergebnis, sondern eine Zahl, anhand der PHP intern das richtige MySQL-Ergebnis finden kann. Um das Ergebnis oder dessen Eigenschaften nun auszulesen, können eine Reihe von Befehlen angewendet werden (es muss immer die zurückgegebene Zahl übergeben werden, komplette Liste siehe Befehlsverzeichnis). Die folgenden sind die wohl am häfigsten verwendeten:

mysql_data_seek() - Springt zu einer Zeile aus dem Ergebnis
mysql_fetch_array() - Liest eine Zeile einer Abfrage als assoziatives Array aus
mysql_fetch_row() - Liest eine Zeile einer Abfrage als skalares Array aus
mysql_free_result() - Leert den Arbeitsspeicher, der für ein Ergebnis benötigt wird.
mysql_num_rows() - Liefert die Anzahl der Datensätze eines Ergebnisses
Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2013 | Last Update: 27.01.2006