Zugriff auf Firebird-Datenbanken mit PHP. Daniel de West DB-Campus-Treffen 15. Januar 2004



Ähnliche Dokumente
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

SQL-Injection. Seite 1 / 16

Projekt Online-Shop:

Datenbanksysteme SS 2007

Administrator-Anleitung

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Adminer: Installationsanleitung

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Psyprax GmbH. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Prozedurale Datenbank- Anwendungsprogrammierung

E-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: Übung WS 2014/2015

SEMINAR Modifikation für die Nutzung des Community Builders

,QVWDOODWLRQXQG.RQILJXUDWLRQYRQ,QWHUEDVH

Durchführung der Datenübernahme nach Reisekosten 2011

Erstellung botoptimierter Partnerlinks

Psyprax GmbH. Netzwerk Installation unter XP. Wichtig für alle Netzwerkinstallationen: Psyprax GmbH

Diese Programm ist für Hausverwaltungen, Kleingärtner Vereine gedacht und besteht eigentlich aus drei Programmen:

Einspielanleitung für das Update DdD Cowis backoffice DdD Cowis pos

Visual Basic Express Debugging

Internet online Update (Internet Explorer)

Interaktive Webseiten mit PHP und MySQL

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Zugriff auf Daten der Wago über eine Webseite

Verbindung HELIUM V und WebShop (Magento). Verbindung zwischen HELIUM V und WebShop AioS

Multimedia im Netz Wintersemester 2011/12

Grundlagen der Informatik 2

OP-LOG

4D Server v12 64-bit Version BETA VERSION

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Mit dem MySQL Migration Toolkit aus ACCESS Datenbank SQL-Skripte generieren

NODELOCKED LIZENZ generieren (ab ST4)

DOKUMENTATION ky2help V 3.6 Servertests

Lehrveranstaltung Grundlagen von Datenbanken

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

CLR-Integration im SQL-Server. Alexander Karl

Verbuchung von Zahlungseingängen über das PayPal-Konto

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Anleitung zum Erstellen und Auspacken eines verschlüsselten Archivs zur Übermittlung personenbezogener Daten per 1

Betriebshandbuch. MyInTouch Import Tool

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Installation und Bedienung von vappx unter ios

Schnittstelle Drittmeldepflicht Ab ImmoTop

How to install freesshd

END USER GUIDE IBS TICKET SYSTEM HOW-TO. Dokumenten Kontrolle. Version 1.1. Datum IBS Ticket System End User How-To D.doc.

Erstellen einer PostScript-Datei unter Windows XP

Oracle APEX Installer

Internet Explorer Version 6

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql

Informatik für Ökonomen II Übung 0

PHP Kurs Online Kurs Analysten Programmierer Web PHP

RL

Studentische Lösung zum Übungsblatt Nr. 7

Programmteil Bautagebuch

WARY Notariat Urkundenrolle V2013

Betriebssystem Windows - SSH Secure Shell Client

Anleitung SEPA-Lastschriften mit VR-NetWorld Software Version 5.x

Anleitung: Einrichtung der Fritz!Box 7272 mit VoIP Telefonanschluss

Eltako-FVS. Lizenzaktivierung ohne Internetverbindung

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

HVS32 Datenbank Archivierungs Dienst

Zur Einrichtung der orgamax Cloud auf Ihrem ipad beschreiben wir hier die Vorgehensweise.

DB2 Kurzeinführung (Windows)

Hinweise zur Installation von MySQL

Erstellen eines Screenshot

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Datenaustausch mit Datenbanken

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Informatik 12 Datenbanken SQL-Einführung

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

REGIONALES RECHENZENTRUM ERLANGEN [ RRZE] Datenbanken. RRZE-Campustreffen, Stefan Roas und Ali Güclü Ercin, RRZE

Computeria Solothurn

QR-FUNKTION. Informationen über zu erledigende Aufgaben an das Reinigungspersonal senden.

Webinar-Anleitung. Registrierung. Bitte klicken Sie zur Registrierung zunächst auf den gewünschten Termin, z.b.

3. Klicken Sie im folgenden Fenster unbedingt auf "Installation fortsetzen", um die für das Update benötigten Treiber zu installieren.

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Installation & Konfiguration AddOn AD-Password Changer

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installationsanleitung. Novaline Datenarchivierung / GDPdU

Aktuelles, Mitteilungen und Veranstaltungen verwalten

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

ACDSee 9 Foto-Manager

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

Installation des OpenVPN Clients

Umstellung PC-VAB auf S PA-Zahlungsverkehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

NTT DATA Helpdesk Benutzerhandbuch

Variablen & erweiterte Aktionen nutzen

Transkript:

Zugriff auf Firebird-Datenbanken mit PHP Daniel de West DB-Campus-Treffen 15. Januar 2004

Inhalt PHP und Firebird Die wichtigsten Befehle Verbindungsaufbau Übermitteln von Abfragen Beenden von Verbindungen Persistente Verbindungen Transaktionen Vorstellung der Klasse class_fbird Bsp. 1: Verbindungsaufbau, Abfrage, Ende Bsp. 2: Ausführen von Stored Procedures mit und ohne Ergebnis Überblick über Interbase/Firebird-Befehle in PHP Weiterführende Links 2

Verbindungsaufbau mit ibase_connect Aufbau der Verbindung: ibase_connect ( string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]] ) Liefert eine Ressource-ID zurück, die einer Variablen (z. B. $link) übergeben werden kann. 3

Verbindung beenden mit ibase_close Beenden der Verbindung: ibase_close ( [int connection_id] ) Obwohl die Verbindung standardmäßig auch durch das Ende des Skripts beendet wird, sollte die Verbindung zur Vermeidung von unnötigen Verbindungen von Hand beendet werden. 4

Abfragen mit ibase_prepare und ibase_execute Vorbereitung von Abfragen ibase_prepare ( [int link_identifier, string query] ) Durchführung vorbereiteter Abfragen ibase_execute ( int query [, int bind_args] ) Ausführen von Abfragen ohne Vorbereitung ibase_query ( [int link_identifier, string query [, int bind_args]] ) 5

Persistente Verbindungen Erstellen Persistenter Verbindungen: ibase_pconnect ( string database [, string username [, string password [, string charset [, int buffers [, int dialect [, string role]]]]]] ) Beenden Persistenter Verbindungen: ibase_free_result ( int result_identifier ) Persistente Verbindungen müssen unbedingt geschlossen werden, da sie nicht selbständig nach Beendigung des Skripts geschlossen werden. Sie können außerdem nicht mit ibase_close() geschlossen werden. 6

Transaktionen Starten einer Transaktion ibase_trans ( [int trans_args [, int link_identifier]] ) Übermitteln einer Transaktion ibase_commit ( [int link_identifier, int trans_number] ) Zurücknehmen einer Transaktion ibase_rollback ( [int link_identifier, int trans_number] ) Abfragen innerhalb von Transaktionen können als ganzes übermittelt oder rückgängig gemacht werden. 7

Überblick PHP-Befehle (1) ibase_connect -- Öffnet eine Verbindung zu einer InterBase- Datenbank ibase_pconnect -- Erzeugt eine permanente Verbindung zu einer InterBase-Datenbank ibase_close -- Schließt die Verbindung zu einer InterBase- Datenbank ibase_errmsg -- Gibt Fehlermeldungen zurück ibase_prepare -- Vorbereitung einer Abfrage für den folgenden Gebrauch von Parameter-Platzhaltern und für die eigentliche Ausführung. ibase_execute -- Ausführen einer vorbereiteten Abfrage ibase_query -- Führt eine Abfrage (Query) auf eine InterBase-DB aus ibase_trans -- Beginnt eine Transaktion ibase_commit -- Übermittelt eine Transaktion an die Ausführung ibase_rollback -- Macht eine Transaktion rückgängig 8

Überblick PHP-Befehle (2) ibase_timefmt -- Bestimmt das Format von Zeitstempel-, Datums- und Zeit-Feldern, die von einer Abfrage zurück gegeben werden ibase_fetch_object -- Liest einen Datensatz einer InterBase-Datenbank als Objekt ein ibase_fetch_row -- Liest einen Datensatz aus einer InterBase-Datenbank ibase_field_info -- Get information about a field ibase_free_query -- Gibt den Speicher einer vorbereiteten Abfrage wieder frei ibase_free_result -- Gibt den Speicher eines Abfrage- Ergebnisses frei ibase_num_fields -- Ermittelt die Anzahl der Felder einer Ergebnis-Liste 9

Überblick PHP-Befehle (3) ibase_blob_add -- Add data into created blob ibase_blob_cancel -- Cancel creating blob ibase_blob_close -- Close blob ibase_blob_create -- Create blob for adding data ibase_blob_echo -- Output blob contents to browser ibase_blob_get -- Get len bytes data from open blob ibase_blob_import -- Create blob, copy file in it, and close it ibase_blob_info -- Return blob length and other useful info ibase_blob_open -- Open blob for retrieving data parts 10

Vorstellung der Klasse class_fbird (1) Sinn der Klasse class_fbird ist es: Ständig wiederkehrende Programmteile auszulagern Fehler bei Standardproblemstellungen zu vermeiden In begrenztem Umfang Abfragen zu optimieren Den Umstieg von MySQL auf Firebird zu erleichtern Die Klasse class_fbird kann in der jeweils aktuellsten Version von folgender Seite heruntergeladen werden: http://www.rrze.uni-erlangen.de/dienste/firebird/zugriff/php/ 11

Beispiel 1: class_fbird Beispiel 1: Verbindungsaufbau, Abfrage, Ende include_once("class_fbird.php"); $db=new fbird('dbphoenix:campus2004', 'DBCAMPUS', '********', 'ISO8859_1',0,3,'DEMO'); $erg=$db->query("select * FROM PERSON WHERE NAME LIKE 'A%' AND PLZ > 95000 ORDER BY \"Strasse\""); while ($zeile=$db->fetch_row($erg)) { $x++; echo "Zeile $x:<br>"; print_r($zeile); echo "<br><br>"; } $db->ende(); 12

Beispiel 2: class_fbird Beispiel 2: Ausführen von Stored Procedures mit und ohne Ergebnis include_once("class_fbird_extended.php"); $db=new fbird('dbphoenix:campus2004', 'DBCAMPUS', '********', 'ISO8859_1',0,3,'DEMO'); $parameters=array(-7,'test','php','','',null,'',null,null, 'RZ123'); $erg=$db->proc_execute("person_iu",$parameters); echo "ERG: $erg"; $output_vars=array('id','name','vorname','strasse','e- Mail','PLZ','Ort','Land','Homepage','Kundennummer'); $parameters=""; $limit="first 20"; $erg=$db->query_proc("person_s",$parameters,$output_vars,$limit); foreach ($erg as $erg) { $x++; echo "Zeile $x:<br>"; print_r($erg); echo "<br><br>"; } $erg=$db->proc_execute("delminus"); $db->ende(); 13

Funktionen der Klasse class_fbird (1) function fbird ($datei,$user,$pass,$char,$buffer,$dialect,$role="") Initialisierung und Aufbau der DB-Verbindung function query($abfrage) Hier können gültige SQL-Abfragen übergeben werden function fetch_row($erg) Hier wird die nächste Zeile eines Ergebnisses ausgegeben function ende() Schliessen der Datenbankverbindung 14

Funktionen der Klasse class_fbird (2) function query_proc($proc_name,$parameters,$output_vars,$limit) Generierung und Ausführung einer SQL-Abfrage, die auf einer Stored-Proc beruht und der ein einzelner oder ein Array von Parametern und Ausgabe-Namen übergeben werden kann. Mit $limit kann z. B. FIRST 20 übergeben werden. function proc_execute($proc_name,$parameters) Generierung einer SQL-Abfrage, die auf einer Stored-Proc beruht und der ein einzelner oder ein Array von Parametern übergeben werden kann. Diese Procedure liefert kein Ergebnis zurück. function us2fb($datum) Ändert das Datumsformat vom MySQL-Typ (2003-01-31) in den Firebird-Typ (2003/31/01) Function fb2us($datum) Ändert das Datumsformat vom Firebird-Typ (2003/31/01) in den MySQL-Typ (2003-01-31) 15

Weiterführende Links Beginners Guide to Firebird and PHP http://www.ibphoenix.com/a5056.htm?a=ibphoenix&page=ibp_b php Getting Started with PHP and Interbase http://www.ibphoenix.com/a489.htm Deutsches PHP-Handbuch bei Dynamic-Webpages http://www.dynamic-webpages.de/php/index.php Deutsche PHP-FAQ http://www.dclp-faq.de/ 16

Danke! Vielen Dank für Ihre Aufmerksamkeit! 17