Delphi-PRAXiS
Seite 2 von 9     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Komponente: MySQL via PHP-Tunnel (https://www.delphipraxis.net/54644-komponente-mysql-via-php-tunnel.html)

neuronet 22. Jan 2006 14:09

Re: MySQL-Zugriff via PHP
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, nun gibt's erst mal den ersten Teil...

Besteht aus drei Komponenten:
  • TMySQLConnection
  • TMySQLDatabase
  • TMySQLStringGrid
und dem Script
  • tunnel.php
Am besten testet ihr das ganze Geraffel erst mal lokal (XAMPP o.a.).

Das 'Key' Feld ist noch ohne Bedeutung, wird später hinzugefügt um eine Verschlüsselung der Daten zwischen Komponente und Script hinzukriegen.

In der TMySQLStringGrid Kompo müssen noch etliche Properties umgeschrieben werde, aber eine simple Abfrage funzt schon mal. :-)

Reihenfolge der Kompos wie üblich:

TMySQLConnection -> TMySQLDatabase -> TMySQLStringGrid


P.S.: Ich weiß, dass noch jede Menge exceptions abgefangen werden müssen...
P.P.S: Ich weiß auch, daß das Parsen des Rückgabestring vom Script noch nicht Fehletolerant ist.

WICHTIG: Euer PHP-Interpreter darf keine Warnungen ausgeben!!!
(diese abzufangen wird später noch implementiert)

neuronet 25. Jan 2006 17:04

Re: MySQL-Zugriff via PHP
 
:cry: erst schrein'se alle und nun kein einziges Kommentärle... :cry:

CG2003 25. Jan 2006 17:23

Re: MySQL-Zugriff via PHP
 
Hallo,

sieht auf den ersten Blick schon mal gut aus! :wink:
Bin momentan noch in der Firma. Ich werd's nachher zu Hause mal testen!

neuronet 25. Jan 2006 17:28

Re: MySQL-Zugriff via PHP
 
:hello: :hello: :hello: Ein Lichtblick!!!! :hello: :hello: :hello:

CG2003 25. Jan 2006 19:31

Re: MySQL-Zugriff via PHP
 
Hmm, schade, ich krieg' Dein Package nicht installiert. Ich bekomme folgende Fehlermeldung:

"Package 'IndyProtocols100 kann nicht geladen werden'. Es enthält die Unit 'IdZLibCompressorBase', die auch im Package 'MySQL' enthalten ist."

Auch wenn ich Deine Units in ein eigenes neues Package packe, geht es nicht.

neuronet 25. Jan 2006 19:43

Re: MySQL-Zugriff via PHP
 
Welche Fehlermeldung kriegst Du denn, wenn du es in ein eigenes Package steckst???

Ich musste noch folgendes Verzeichnis zum include Pfad hinzufügen:

C:\Programme\Borland\BDS\4.0\source\ToolsAPI

CG2003 25. Jan 2006 19:56

Re: MySQL-Zugriff via PHP
 
Also, ich habe es eben ausprobiert.

Verbindungsaufbau funktioniert einwandfrei. Bis jetzt keine Probleme!

Allerdings gibt es Probleme mit dem ausführen von Querys des MySQLStringGrid.

Ich habe ein Datenbank "CPS2_DB" gewählt, und gebe bei der Eigenschaft "SQL Query" folgendes ein:


SQL-Code:
SELECT * FROM CPS2_DB;
Wenn ich nun die Eigenschaft auf TRUE setze, bekomme ich folgende Fehlermeldung:

" '3 : localhost : test : test : cps2_db : SELECT * FROM CPS2_DB;C-Status: 0' ist kein gültiger Integerwert".


Desweiteren solltest Du auch das Angeben von keinem Kennwort unterstützen lassen. Ich benutze zum lokalen Testen
nämlich einen MySQL-Account ohne Passwort.

Hoffe das hilft Dir... Ansonsten schon mal meinen Respekt für die bisherige Arbeit!

neuronet 25. Jan 2006 21:28

Re: MySQL-Zugriff via PHP
 
Werde es mir mal genauer anschauen.
Jedoch erfolgt die Auswahl der Datenbank normalerweise über die Zwischenkomponente TMySQLDatabase.
Die Anmerkung bezüglich des Passwortes wird in der nächsten Release miteingearbeitet.

neuronet 25. Jan 2006 23:02

Re: MySQL-Zugriff via PHP
 
Liste der Anhänge anzeigen (Anzahl: 1)
So, Sebastian.

Hab jetzt mal im MySQLStringGrid die Fehler abgefangen.
Bei einer MySQL Fehlermeldung erscheint nun eine Hinweisfensterchen.
Die Angaben kannst du aber auch über die Properties FehlerNummer und FehlerText der Komponente auslesen.
Das Auslösen einer entsprechende Exception ist für die nächste Release vorgesehen.

Des weiteren kannst Du nun das ganze auch ohne passwort gebrauchen.
Die entsprechende abfrage habe ich entfernt.

Gruß Andy

CG2003 25. Jan 2006 23:12

Re: MySQL-Zugriff via PHP
 
Hallo,

habe eben nochmal die aktualisierten Komponenten ausprobiert.
(Kleiner Tip: Hänge aktualisierte Versionen an Deinen ersten Post an. Das schafft Übersichtlichkeit!)
Und was soll ich sagen? Es funktioniert! Super Arbeit. :-D

Habe es allerdings bis jetzt nur mit einem normalen

SQL-Code:
SLECT * FROM BlaBla;
ausprobiert. Aber immerhin. Es klappt. Spitze! Weiter so! :thumb:
Morgen probiere ich das dann mal remote auf meinem Webserver. :coder2: Gute Nacht! :cat:


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Seite 2 von 9     12 34     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz