PHP und MySQL
Sie haben die grundlegenden (My)SQL-Befehle kennen gelernt und können Tabellen anlegen, Zeilen einfügen und löschen sowie Abfragen vornehmen. Um diese Befehle in einem PHP-Script zu verwenden, gibt es einige spezielle MySQL-Funktionen in PHP. Die wichtigsten werden in diesem Kapitel vorgestellt.
Verbindung zum Datenbankserver (mysql_connect)
Die Funktion mysql_connect(…) öffnet eine Verbindung zum Datenbankserver. Der Funktion können Sie verschiedene Argumente übergeben:
resource mysql_connect ( [string Server [, string Benutzername [, string Benutzerkennwort [, bool neue_Verbindung [, int client_flags]]]]] )
Das erste Argument ist der Hostname (bei der lokalen Installation entspricht dies “localhost”), das zweite und dritte Argument sind der MySQL-Benutzername und das -Passwort (bei der lokalen Installation sind beide Werte zumeist leer).
Im Erfolgsfall (Verbindung hergestellt) gibt die Funktion eine Verbindungskennung zurück, die Sie in einer Variablen speichern sollten.
Datenbank auswählen (mysql_select_db)
Mit mysql_select_db(…) wählen Sie eine Datenbank aus. Der Funktion muss der Name der Datenbank und kann eine Verbindungskennung übergeben werden.
bool mysql_select_db ( string Datenbankname [, resource Verbindungs-Kennung] )
Die Funktion gibt im Erfolgsfall (Datenbank ausgewählt) “TRUE”, sonst “FALSE” zurück.
MySQL-Befehl abschicken (mysql_query)
Die Funktion mysql_query(…) nimmt einen SQL-Befehl entgegen, den Sie z. B. vorher in einer Variablen gespeichert haben. Zusätzlich kann noch die Verbindungskennung übergeben werden.
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung] )
War die Anfrage erfolgreich wird “TRUE” zurückgegeben, andernfalls “FALSE” (z. B. bei einem syntaktisch falschen Befehl). Haben Sie eine SELECT-Anfrage übergeben, wird eine Ergebniskennung zurückgegeben, die Sie in einer Variablen speichern sollten. Der übergebene SQL-Befehl sollte nicht wie sonst üblich mit einem Semikolon enden.
Anzahl der betroffenen Datensätze einer DELETE-, INSERT- und UPDATE-Abfrage ermitteln (mysql_affected_rows)
Haben Sie der Funktion mysql_query(…) eine DELETE-, INSERT- oder UPDATE-Anfrage übergeben, können Sie mit dieser Funktion herausfinden, wie viele Datensätze verändert bzw. betroffen sind.
Optional können Sie die Verbindungskennung übergeben. Übergeben Sie keine Kennung wird – wie sonst üblich – die aktuell offene Verbindung benutzt.
int mysql_affected_rows ( [resource Verbindungs-Kennung] )
Anzahl der Ergebnisdatensätze einer SELECT-Abfrage ermitteln (mysql_num_rows)
Wenn Sie der Funktion mysql_query(…) eine SELECT-Anfrage übergeben haben, können Sie mit mysql_num_rows(…) herausfinden, wie viele Datensätze im Ergebnis enthalten sind. Sie müssen die Ergebniskennung des vorherigen Aufrufs der Funktion mysql_query(…) übergeben.
int mysql_num_rows ( resource Ergebnis-Kennung )
Ergebnis einer SELECT-Anfrage ermitteln (mysql_fetch_object)
Mit der Funktion mysql_fetch_object(…) kommen Sie an die eigentlichen Inhalte des Ergebnisses einer SELECT-Anfrage. Die Funktion benötigt die Ergebniskennung der Funktion mysql_query(…).
object mysql_fetch_object ( resource Ergebnis-Kennung )
Die Funktion gibt ein Objekt zurück. Wie Sie dieses auslesen können, erfahren Sie im nächsten Kapitel.
Verbindung zum Datenbankserver beenden (mysql_close)
Die Verbindung zum Datenbankserver können Sie mit der Funktion mysql_close(…) beenden. Dies ist besonders bei umfangreicheren Scripten sinnvoll, sobald die Verbindung nicht mehr benötigt wird. Die Verbindung wird nach Beendigung des Scriptes immer geschlossen. Optional können Sie die Verbindungskennung der Verbindung übergeben, die geschlossen werden soll.
bool mysql_close ( [resource Verbindungs-Kennung] )