AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte MySQL via PHP-Tunnel (über eigene libmysql.dll)
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL via PHP-Tunnel (über eigene libmysql.dll)

Ein Thema von omata · begonnen am 22. Feb 2010 · letzter Beitrag vom 25. Mai 2015
Antwort Antwort
NetSonic

Registriert seit: 10. Mai 2007
124 Beiträge
 
Delphi 10 Seattle Professional
 
#1

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 07:37
Ganz saubere Arbeit omata!
Connect funktioniert ohne Probleme, allerdings bekomme ich bei einer SQL-Query mit ZEOS den Fehler, das die SQL-Syntax fehlerhaft sein soll:

Delphi-Quellcode:
ZQueryWeb.SQL.Text := 'SELECT * FROM web-user_webdb1.tbluser';
ZQueryWeb.Open;
Die Datenbank heißt "web-user_webdb1". Der Benutzer ist "webdb1".

Ich habe jetzt einmal die Verbindung auf meinem lokalen Server getestet. Dort geht es, allerdings sind dort folgende Daten eingetragen: Die Datenbank heißt "webtest". Der Benutzer ist "root". Ist der Fehler ggf. im Bereich "web-user_webdb1.tbluser" zu suchen? Ich vermute er kommt irgendwie nicht mit dem "-"-Zeichen klar, da die Meldung lautet:
"...for the right syntax to use near "-user_webdb1 LIKE 'tbluser'' at line 1'..."

Geändert von NetSonic (13. Aug 2010 um 08:19 Uhr) Grund: weitere Fehlerdetails hinzugefügt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#2

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 09:04
Das Problem hatte ich auch schon. Vermutlich wird das "-" als mathematisches Minus interpretiert und somit versucht, irgendetwas auszurechnen. Da ich aber keine Zeit hatte, nach Workarounds zu suchen, habe ich einfach kurzerhand die DB umbenannt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
NetSonic

Registriert seit: 10. Mai 2007
124 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 09:09
Das hört sich auf jeden Fall plausibel an. Ich werde das einmal ausprobieren.

* UPDATE *
Ich habe es getestet und es liegt definitiv an dem "-"-Zeichen im Namen der Datenbank. Damit gibt es diese Probleme. Ggf. sollte das aber ja noch zukünftig zu beheben sein.

Geändert von NetSonic (13. Aug 2010 um 09:28 Uhr)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 10:44
Schön, das das jetzt auch mit Zeos geht und noch eine Verbesserung konnte ich erziehlen, es gibt jetzt nur noch eine DLL für alles (getestet: Delphi 7 und Delphi 2009 und Lazarus).

Meldest du dich an "web-user_webdb1" an? Weil dann benötigst du doch diese Angabe gar nicht in der SQL-Abfrage. Oder greifst du von einem Schema auf ein anderes zu?

Das Problem ist, das der Zugriff über mysql_query (von PHP) diesen Fehler produziert. Man kann das umgehen, wenn man alles maskiert mit ` aber dieses Zeichen wird leider nicht an die DLL übergeben und vorher irgendwo weggefiltert (in dbExpress und Zeos). Ich kann natürlich jetzt irgendein anders Zeichen definieren, das dann innerhalb von PHP zu ` wird. Aber das gefällt mir nicht wirklich.

Habt ihr vielleicht noch eine Idee?

Geändert von omata (13. Aug 2010 um 10:50 Uhr)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 11:16
Vergesst einfach, was ich eben geschrieben habe. Ich habe die Maskierungszeichen selber entfernt (in der DLL)

Neue Version im ersten Post, bitte mal testen.
  Mit Zitat antworten Zitat
NetSonic

Registriert seit: 10. Mai 2007
124 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 12:15
Meldest du dich an "web-user_webdb1" an? Weil dann benötigst du doch diese Angabe gar nicht in der SQL-Abfrage. Oder greifst du von einem Schema auf ein anderes zu?
Ich melde mich an dieser Datenbank an, allerdings enthält die Query nicht den Namen der Datenbank, sondern nur den der Tabelle. Als Fehlermeldung bekomme ich dann aber eben diese komplette Rückmeldung mit "dbname.tabellenname". Scheint also vom PHP-Script oder der DLL so behandelt zu werden.
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 12:27
Klappt das nun mit der neuen DLL?
  Mit Zitat antworten Zitat
NetSonic

Registriert seit: 10. Mai 2007
124 Beiträge
 
Delphi 10 Seattle Professional
 
#8

AW: MySQL via PHP-Tunnel (über eigene libmysql.dll)

  Alt 13. Aug 2010, 12:31
Dazu müsste ich die Datenbank jetzt erst wieder umbenennen. Muss jetzt aber zunächst etwas anderen machen, d.h. dazu werde ich erst am Wochenende kommen. Du bekommst aber auf jeden Fall eine Rückmeldung.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz