SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=266&group=45
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Referenz zur MySQL-Unterstützung


Sollten Sie MySQL 3.x oder 4.0 verwenden, können Sie auch auf die MySQL-Unterstützung zurückgreifen. In der folgenden Übersicht sind die wichtigsten MySQL-Funktionen enthalten. Dabei werden diese Begriffe verwendet:


FunktionBeispielBeschreibung
mysql_affected_rows$anz=mysql_affected_rows($lkid)Liefert die Anzahl betroffener Datensätze durch die letzte INSERT-, UPDATE- oder DELETE-Anfrage an den Server, die mit der angegebenen Verbindungskennung assoziiert wird. Wird die Verbindungskennung nicht angegeben, wird die letzte durch mysql_connect() geöffnete Verbindung angenommen.
mysql_change_user$succ=mysql_change_user($name,$passwd,$db,$lkid)Ändert den angemeldeten Benutzer der aktuell aktiven Datenbankverbindung oder steht für die Verbindung, die mit dem optionalen Parameter Verbindungs-Kennung bestimmt wurde. Wurde eine Datenbank angegeben, wird diese zur aktiven Datenbank, nachdem der Benutzer gewechselt hat.
mysql_client_encoding$succ= mysql_client_encoding ($db)Liefert den Namen des Zeichensatzes für die aktuelle Verbindung.
mysql_closemysql_close($lkid)Schließt eine Verbindung zum Datenbankserver.
mysql_connect$succ=mysql_connect($host,$user,$passwd)Öffnet eine Verbindung zum Datenbankserver.
mysql_create_db$succ=mysql_create_db($db,$lkid)Erzeugt eine Datenbank mit dem Namen $db.
mysql_data_seek$succ=mysql_data_seek($res,$row)Bewegt den internen Datensatzzeiger eines Anfrageergebnisses zum Datensatz mit der übergebenen Nummer. Der nächste Aufruf von mysql_fetch_row() liefert den entsprechenden Datensatz.
mysql_db_query$res=mysql_db_query($db,$sql,$lkid)Aufruf einer SQL-Anfrage $sql an die Datenbank.
mysql_drop_db$succ=mysql_drop_db($db,$lkid)Versucht, eine komplette Datenbank vom Server, der mit der übergebenen Verbindungs-Kennung assoziiert wird, zu löschen.
mysql_errno$err=mysql_errno($lkid)Liefert die Nummer einer Fehlermeldung einer zuvor ausgeführten MySQL-Operation.
mysql_error$errmsg=mysql_error($lkid)Liefert den Fehlertext der zuvor ausgeführten MySQL-Operation.
mysql_escape_stringmysql_escape_string (unescaped_string)Maskiert einen String zur sicheren Benutzung in mysql_query.
mysql_fetch_array$arr=mysql_fetch_array($res,$type)Liefert einen Datensatz als assoziatives Array, als numerisches Array oder beides.
$type gibt den Typ des Arrays an:
MYSQL_ASSOC: assoziativ
MYSQL_NUM: numerisch
MYSQL_BOTH: beides
mysql_fetch_assoc$arr=mysql_fetch_assoc($res)Liefert ein assoziatives Array, das den geholten entsprechenden Datensatz enthält. Sind keine weiteren Datensätze vorhanden, gibt diese Funktion FALSE zurück.
mysql_fetch_field$obj=mysql_fetch_field($res,$offset)Liefert ein Objekt mit Feldinformationen aus einem Anfrageergebnis.
mysql_fetch_lengths$arr=mysql_fetch_lengths($res)Liefert ein Array, das die Länge eines jeden Felds in dem zuletzt über mysql_fetch_row() geholten Datensatz enthält – oder FALSE im Fehlerfall.
{PSP}
FunktionBeispielBeschreibung
mysql_fetch_object$obj=mysql_fetch_object($res,$type)Liefert ein Objekt mit Eigenschaften, die den Feldern des geholten Datensatzes entsprechen, oder FALSE, wenn keine weiteren Datensätze vorhanden sind.
mysql_fetch_row$arr=mysql_fetch_row($res)Liefert einen Datensatz aus dem Anfrageergebnis mit der übergebenen Kennung. Der Datensatz wird als Array geliefert. Jedes Feld wird in einem Array-Offset abgelegt. Der Offset beginnt bei 0.
mysql_field_flags$opt=mysql_field_flags($res,$offset)Liefert die Flags des Felds mit dem übergebenen Offset. Die Flags werden als einzelne Werte pro Flag und durch ein einziges Leerzeichen getrennt geliefert, sodass sie leicht mit explode() getrennt werden können.
mysql_field_len$len=mysql_field_len($res,$offset)Liefert die Länge des angegebenen Felds.
mysql_field_name$name=mysql_field_name($res,$index)Liefert den Namen des Felds, das dem angegebenen Feldindex entspricht. Der Parameter Ergebnis-Kennung muss eine gültige Ergebnis-Kennung sein. Feldindex bestimmt den numerischen Offset des Felds.
mysql_field_seek$erg=mysql_field_seek($res,$offset)Setzt den Feldzeiger auf den angegebenen Feldoffset. Wird beim nächsten Aufruf von mysql_fetch_field() kein Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der bei mysql_field_seek() angegeben wurde.
mysql_field_table$name=mysql_field_table($res,$offset)Liefert den Namen der Tabelle, die das genannte Feld enthält.
mysql_field_type$type=mysql_field_type($res,$offset)Liefert den Typ eines Felds in einem Ergebnis.
mysql_free_result$succ=mysql_free_result($res)Gibt den Speicher frei, der mit der Ergebnis-Kennung assoziiert ist.
mysql_get_client_info$name=mysql_get_client_info()Liefert eine Zeichenkette mit der Version der Clientbibliothek.
mysql_get_host_info$name=mysql_get_host_info($res)Liefert eine Zeichenkette, die den Typ der benutzten Verbindung Verbindungs-Kennung beschreibt. Der Hostname des Servers ist ebenfalls enthalten. Fehlt der Parameter $res, wird die zuletzt hergestellte Verbindung benutzt.
mysql_get_proto_info$name=mysql_get_proto_info ($res)Liefert die Protokollversion, die die Verbindung Verbindungs-Kennung nutzt. Fehlt der Parameter $res, wird die zuletzt hergestellte Verbindung benutzt.
mysql_get_server_info$name=mysql_get_server_info($res)Liefert die Serverversion, die die Verbindung mit der Verbindungs-Kennung nutzt. Fehlt $res, wird die zuletzt hergestellte Verbindung benutzt.
mysql_info$name=mysql_info($res)Liefert genaue Informationen über die zuletzt ausgeführte Abfrage zurück, die über den Parameter $res ausgeführt wurde. Wird der optionale Parameter Verbindungs-Kennung nicht angegeben, so wird die letzte offene Verbindung benutzt.
mysql_insert_id$id=mysql_insert_id($lkid)Liefert die ID, die bei der letzten INSERT-Operation für ein Feld vom Typ AUTO_INCREMENT vergeben wurde. Wenn die Verbindungskennung nicht angegeben wird, wird die zuletzt geöffnete Verbindung angenommen.
mysql_list_dbs$res=mysql_list_dbs($lkid)Liefert eine Ergebnis-Kennung, die alle Datenbanken auf dem Datenbankserver enthält. Um diese Ergebnis-Kennung zu durchlaufen, benutzen Sie die Funktion mysql_tablename() oder irgendeine der Funktionen, die mit Ergebnistabellen umgehen kann, etwa mysql_fetch_array().
mysql_list_fields$res=mysql_list_fields($db,$table,$lkid)Gibt einen Verweis auf Felder einer Tabelle zurück.
{PSP}
FunktionBeispielBeschreibung
mysql_list_processes$pid=mysql_list_processes($res)Liefert eine Ergebnis-Kennung, die alle laufenden MySQL-Prozesse enthält.
mysql_list_tables$res=mysql_list_tables($db,$lkid)Gibt eine Liste der Tabellen einer Datenbank zurück.
mysql_num_fields$anz=mysql_num_fields($res)Liefert die Anzahl der Felder in der Ergebnismenge, die mit dem Parameter Ergebnis-Kennung angegeben wurde.
mysql_num_rows$anz=mysql_num_rows($res)Liefert die Anzahl der Datensätze einer Ergebnismenge. Diese Funktion ist nur gültig für SELECT-Befehle. Haben Sie eine INSERT-, UPDATE- oder DELETE-Abfrage ausgeführt und möchten die Anzahl der betroffenen Datensätze ermitteln, verwenden Sie die Funktion mysql_affected_rows().
mysql_pconnect$succ=mysql_pconnect($host,$user,$passwd)Öffnet eine persistente Verbindung zu einem MySQL-Datenbankserver.
mysql_pingmysql_ping($res)Überprüft, ob die Verbindung zum Server funktioniert oder nicht. Ist die Verbindung abgebrochen, wird ein automatischer Reconnect versucht.
mysql_query$succ=mysql_query($sql,$lkid)Sendet eine Anfrage an die zurzeit aktive Datenbank, die mit der angegebenen Verbindungskennung assoziiert wird. Wird die Verbindungskennung nicht angegeben, wird die zuletzt geöffnete Verbindung angenommen. Wenn keine offene Verbindung besteht, wird versucht, eine Verbindung aufzubauen, wie beim Aufruf von mysql_connect() ohne Argumente, und diese wird dann benutzt.
mysql_real_escape_stringmysql_real_escape_string(unescaped_string,$res)Diese Funktion maskiert spezielle Zeichen in unescaped_string, unter Berücksichtigung des aktuellen Zeichensatzes der Verbindung, zur sicheren Benutzung in mysql_query().
mysql_result$erg=mysql_result($res,$row,$field)Gibt den Inhalt des Abfrageergebnisses für ein Feld zurück.
mysql_select_db$succ=mysql_select_db($db,$lkid)Wählt eine Datenbank aus.
mysql_stat$status=mysql_stat($res)Liefert den momentanen Serverstatus zurück.
mysql_tablename$name=mysql_tablename($res,$i)Liefert den zu einem Feld dazugehörigen Tabellennamen.
mysql_thread_id$tid= mysql_thread_id($res)Liefert die aktuelle Thread-ID.
mysql_unbuffered_query$succ=mysql_unbuffered_query($sql,$res)Sendet eine SQL-Anfrage an MySQL, ohne dass die Datensätze des Ergebnisses automatisch geholt und gepuffert werden, wie es bei der Verwendung von mysql_query() der Fall ist. Einerseits spart dieses Vorgehen eine erhebliche Menge an Speicher bei SQL-Anfragen ein, die große Ergebnismengen liefern. Andererseits können Sie unmittelbar mit dem Anfrageergebnis arbeiten, sobald der erste Datensatz gefunden wurde: Sie müssen nicht darauf warten, dass die gesamte SQL-Anfrage abgeschlossen ist. Wird auf verschiedene Datenbanken gleichzeitig zugegriffen, muss der optionale Parameter $res angegeben werden.


Tipp: Neben MySQL kann seit PHP 5 auch SQLite eingesetzt werden. SQLite ist keine Clientbibliothek, die zur Verbindung mit einem großen Datenbankserver genutzt wird. SQLite selbst ist der Server. Die SQLite-Bibliothek liest und schreibt direkt von und auf die Datenbankdateien auf der Festplatte.