Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Linux-UNIX-Programmierung von Jürgen Wolf
Das umfassende Handbuch – 2., aktualisierte und erweiterte Auflage 2006
Buch: Linux-UNIX-Programmierung

Linux-UNIX-Programmierung
1216 S., mit CD, 49,90 Euro
Rheinwerk Computing
ISBN 3-89842-749-8
gp Kapitel A Funktionsreferenz
  gp B.1 ANSI C
  gp B.2 ANSI C99
  gp B.3 Elementare E/A-Funktionen
  gp B.4 Fortgeschrittene Ein-/Ausgabe-Funktionen
  gp B.5 Verzeichnisse
  gp B.6 Attribute von Dateien und Verzeichnissen
  gp B.7 Links
  gp B.8 Prozess und Prozessverwaltungsfunktionen
  gp B.9 Signale – Das neue Signalkonzept
  gp B.10 Interprozesskommunikationen
  gp B.11 Sys-V-Interprozesskommnunikationen
  gp B.12 Threadprogrammierung
  gp B.13 Netzwerkprogrammierung
  gp B.14 MySQL C-API
  gp B.15 PostgreSQL C-API
  gp B.16 Weitere Funktionsreferenzen auf der Buch-CD


Rheinwerk Computing

B.14 MySQL C-API  downtop


Rheinwerk Computing

B.14.1 Übersetzen einer Anwendung  downtop

Benötigte Headerdatei:

#include <mysql.h>

Compileraufruf (benötigt Pfad zum Include-Verzeichnis von MySQL API):

$ gcc -c -I/usr/include/mysql client_anwendung.c

Linkeraufruf (benötigt Pfadangaben zu den Bibliotheken von MySQL API):

$ gcc -o client_anwendung client_anwendung.o \
   -L/usr/lib/mysql -lmysqlclient

Rheinwerk Computing

B.14.2 Die MySQL C-API  downtop


Tabelle B.73    Funktionsübersicht der MySQL C-API

Funktion Bedeutung
my_ulonglong mysql_affected_rows( MYSQL *mysql); Gibt die Anzahl von Zeilen zurück, die durch die letzte UPDATE-, DELETE- oder INSERT-Anfrage geändert, gelöscht bzw. hinzugefügt wurden.
void mysql_close( MYSQL *mysql); Schließt eine Serververbindung
MYSQL *mysql_connect( MYSQL *mysql, const char *host, const char *user, const char *passwd); Stellt die Verbindung mit einem MySQL-Server her. Diese Funktion ist veraltet, benutzen Sie dafür mysql_real_connect().
my_bool mysql_change_user( MYSQL *mysql, const char *user, const char *passwd, const char *db); Ändert Benutzer und Datenbank bei einer geöffneten Verbindung.
const char * mysql_character_set_name( MYSQL *mysql); Gibt den Namen des vorgabemäßigen Zeichensatzes für die Verbindung zurück.
int mysql_create_db( MYSQL *mysql, const char *db); Erzeugt eine Datenbank. Diese Funktion ist veraltet, benutzen Sie stattdessen den SQL-Befehl CREATE DATABASE.
void mysql_data_seek( MYSQL_RES *result, unsigned long long offse); Sucht bis zu einer beliebigen Zeile in einer Anfrage-Ergebnismenge.
void mysql_debug( char *debug); Macht ein DBUG_PUSH mit der angegebenen Zeichenkette.
int mysql_drop_db( MYSQL *mysql, const char *db) ; Löscht eine Datenbank. Diese Funktion ist veraltet, benutzen Sie stattdessen den SQL-Befehl DROP DATABASE.
int mysql_dump_debug_info( MYSQL *mysql); Veranlasst den Server, Debug-Informationen in die Log-Datei zu schreiben.
my_bool mysql_eof( MYSQL_RES *result); Stellt fest, ob die letzte Zeile der Ergebnismenge gelesen wurde oder nicht. Diese Funktion ist veraltet, benutzen Sie stattdessen mysql_errno() oder mysql_error().
unsigned int mysql_errno( MYSQL *mysql); Gibt die Fehlernummer der zuletzt aufgerufenen MySQL-Funktion zurück.
char *mysql_error( MYSQL *mysql); Gibt die Fehlermeldung der zuletzt aufgerufenen MySQL-Funktion zurück.
unsigned int mysql_real_escape_string( MYSQL *mysql, char *nach, const char *von, unsigned int laenge); Escape-Sonderzeichen in einer Zeichenkette, die für ein SQL-Statement benutzt wird, wobei der aktuelle Zeichensatz der Verbindung berücksichtigt wird.
unsigned int mysql_escape_string( MYSQL *mysql, char *nach, const char *von, unsigned int laenge); Escape-Sonderzeichen in einer Zeichenkette, die für ein SQL-Statement benutzt wird.
MYSQL_FIELD * mysql_fetch_field( MYSQL_RES *result); Gibt den Typ des nächsten Tabellenfelds zurück.
MYSQL_FIELD * mysql_fetch_field_direct( MYSQL_RES *result, unsigned int fieldnr); Gibt den Typ eines Tabellenfelds zurück, angegeben durch eine Feldnummer.
MYSQL_FIELD * mysql_fetch_fields( MYSQL_RES *result); Gibt ein Array aller Feldstrukturen zurück.
unsigned lont * mysql_fetch_lengths( MYSQL_RES *result); Gibt die Länge aller Spalten in der aktuellen Zeile zurück.
MYSQL_ROW mysql_fetch_row( MYSQL_RES *result); Holt die nächste Zeile aus der Ergebnismenge.
MYSQL_FIELD_OFFSET mysql_field_seek( MYSQL_RES *result, MYSQL_FIELD_OFFSET offs); Setzt den Spaltencursor auf eine bestimmte Spalte.
unsigned int mysql_field_count( MYSQL *mysql); Gibt die Anzahl der Ergebnisspalten für die letzte Anfrage zurück.
MYSQL_FIELD_OFFSET mysql_field_tell( MYSQL_RES *result); Gibt die Position des Feldcursors zurück, der für das letzte mysql_fetch_field() benutzt wurde.
void mysql_free_result( MYSQL_RES *result); Gibt Speicher frei, der von einer Ergebnismenge benutzt wird.
char * mysql_get_client_info() Gibt Client-Versionsinformationen zurück.
char * mysql_get_host_info( MYSQL *mysql); Gibt eine Zeichenkette zurück, welche die Verbindung beschreibt.
unsigned int mysql_get_proto_info( MYSQL *mysql); Gibt die Protokollversion zurück, die von der Verbindung benutzt wird.
char * mysql_get_server_info( MYSQL *mysql); Gibt die Server-Versionsnummer zurück.
char *mysql_info( MYSQL *mysql); Gibt Informationen über die zuletzt ausgeführte Anfrage zurück.
MYSQL *mysql_init( MYSQL *mysql); Holt oder initialisiert eine MYSQL-Struktur.
my_unlonglong mysql_insert_id( MYSQL *mysql);) Gibt die Kennung zurück, die für eine AUTO_INCREMENT-Spalte durch die letzte Anfrage erzeugt wurde.
int mysql_kill( MYSQL *mysql, unsigned long pid); Tötet einen angegebenen Thread.
MYSQL_RES *mysql_list_dbs( MYSQL *mysql, const char *wild); Gibt die Datenbanknamen zurück, die mit einem einfachen regulären Ausdruck übereinstimmen.
MYSQL_RES * mysql_list_fields( MYSQL *mysql, const char *table, const char *wild); Gibt die Feldnamen zurück, die mit einem einfachen regulären Ausdruck übereinstimmen.
MYSQL_RES * mysql_list_processes( MYSQL *mysql); Gibt eine Liste der aktuellen Server-Threads zurück.
MYSQL_RES * mysql_list_tables( MYSQL *mysql, const char *wild); Gibt Tabellenamen zurück, die mit einem einfachen regulären Ausdruck übereinstimmen.
unsigned int mysql_num_fields( MYSQL_RES *result); Gibt die Anzahl von Spalten in einer Ergebnismenge zurück.
my_ulonglong mysql_num_rows( MYSQL_RES *result); Gibt die Anzahl von Zeilen in einer Ergebnismenge zurück.
int mysql_options( MYSQL *mysql, enum mysql_option option, const char *arg); Setzt Verbindungsoptionen für mysql_connect().
int mysql_ping( MYSQL *mysql); Prüft, ob die Verbindung zum Server funktioniert oder nicht, und verbindet sich erneut, falls notwendig.
int mysql_query( MYSQL *mysql, const char *query); Führt eine SQL-Anfrage aus, die als NULL-begrenzte Zeichenkette angegeben wird.
MYSQL * mysql_real_connect( MYSQL *mysql, const char *host, const char *user, const char *passwd, const char *db, unsigned int port, const char *unix_socket, unsigned int client_flag ); Verbindet sich mit einem MySQL-Server.
mysql_real_query( MYSQL *mysql, const char *query, unsigned int len); Führt eine SQL-Anfrage aus, die als gezählte Zeichenkette angegeben wird.
int mysql_reload( MYSQL *mysql); Weist den Server an, die Berechtigungstabellen erneut zu laden.
MYSQL_ROW_OFFSET mysql_row_seek( MYSQL_RES *result, MYSQL_ROW_OFFSET off); Sucht bis zu einer Zeile in einer Ergebnismenge, indem sie den Wert benutzt, der von mysql_row_tell() zurückgegeben wird.
MYSQL_ROW_OFFSET mysql_row_tell( MYSQL_RES *result); Gibt die Zeilencursorposition zurück.
int mysql_select_db( MYSQL *mysql, const char *db); Wählt eine Datenbank aus.
int mysql_shutdown( MYSQL *mysql); Fährt den Datenbankserver herunter.
char *mysql_stat( MYSQL *mysql); Gibt den Serverstatus als Zeichenkette zurück.
MYSQL_RES * mysql_store_result( MYSQL *mysql); Ruft eine vollständige Ergebnismenge zum Client ab.
unsigned long mysql_thread_id( MYSQL *mysql); Gibt die aktuelle Thread-Kennung zurück.
mysql_thread_safe() Gibt 1 zurück, wenn die Clients Thread-sicher kompiliert sind.
MYSQL_RES * mysql_use_result( MYSQL *mysql); Initialisiert den zeilenweisen Abruf einer Ergebnismenge.


Rheinwerk Computing

B.14.3 Datentypenübersicht der C-API  toptop

Auch zu den eigenen Datentypen von MySQL und der C-API erfolgt hier ein kurzer Überblick.


Tabelle B.74    Datentypenübersicht der MySQL C-API

Datentyp Bedeutung
MYSQL Handle einer Datenbankverbindung. Wird für fast alle MySQL-Funktionen verwendet.
MYSQL_RES Ergebnis einer Anfrage, welche Zeilen zurückgibt (SELECT, SHOW, DESCRIBE, EXPLAIN).
MYSQL_ROW Eine typensichere Darstellung eines Datensatzes (Zeile). Zeilen werden gewöhnlich mit der Funktion mysql_fetch_row() eingelesen.
MYSQL_FIELD Eine Struktur mit Informationen über ein Feld, Feldnamen, Feldtyp und Feldgröße. Die einzelnen Werte dieser Struktur erhalten Sie durch die Funktion mysql_fetch_field().
MYSQL_FIELD_OFFSET Eine typensichere Darstellung eines Offsets in einer MySQL-Feldliste. Offsets sind Feldnummern innerhalb einer Zeile.
my_ulonglong Der Typ, der für die Anzahl von Zeilen und für mysql_affected_rows(), mysql_num_rows() und mysql_insert_id() benutzt wird.

 << zurück
  
  Zum Rheinwerk-Shop
Neuauflage: Linux-UNIX-Programmierung
Neuauflage:
Linux-UNIX-
Programmierung

bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: Linux-Server






 Linux-Server


Zum Rheinwerk-Shop: Das Komplettpaket LPIC-1 & LPIC-2






 Das Komplettpaket
 LPIC-1 & LPIC-2


Zum Rheinwerk-Shop: Linux-Hochverfügbarkeit






 Linux-
 Hochverfügbarkeit


Zum Rheinwerk-Shop: Shell-Programmierung






 Shell-
 Programmierung


Zum Rheinwerk-Shop: Linux Handbuch






 Linux Handbuch


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
Info





Copyright © Rheinwerk Verlag GmbH 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern