Zum Inhalt springen

[PHP] SQL-Statement geht in der DB, aber odbc_exec liefert nur NULL-Werte???


Empfohlene Beiträge

Geschrieben

Moin allerseits!

Ich werd hier so langsam gaga, habe irgendeinen blinden Fleck, sehe ihn aber nicht. Vielleicht ja einer von Euch?

Also:

  1. Ich baue in einem PHP-Skript einen String zusammen, der ein SQL-Statement darstellt.
  2. Dieser String, im SQL-Tool der DB ausgeführt, liefert ein Resultat (eine Zeile, neun Felder).
  3. Der String, an odbc_exec übergeben ($result=odbc_exec($connection,$sql2)) liefert ein Ergebnis zurück, zu dem mir odbc_num_rows 1 liefert und odbc_num_fields 9 (wie erwartet), odbc_fetch_row liefert jedoch false zurück und odbc_result_all eine Tabelle mit korrekten Feldnamen aber NULL für jeden Feldwert.
  4. Wenige Zeilen zuvor funktioniert eine andere Abfrage auf der selben DB-Verbindung völlig korrekt.
  5. Dies ist nicht meine erste Begegnung mit PHP/ODBC.

Was zum Donner übersehe ich hier???

Geschrieben

Moin,

dann stell hier ma die paar Zeilen Code rein, ich glaube nicht. das dir so jemand helfen kann. Ggf. auch ein paar Informationen über Webserver mit Version, PHP-Version, Datenbanksystem (mit Version) etc.

Ich mit meinen Ohren höre ja schon viel raus, aber ...

Reinhold

Geschrieben

Ich mit meinen Ohren höre ja schon viel raus, aber ...

Ja nun, klar. Das Problem ist halt, daß es eigentlich nicht sonderlich viel zu hören gibt, DB ist ein Adabas D 12 auf apache 2.2.10 mit PHP 5.2.6, das ganze auf einer openSUSE 11.1.

Sei's drum, ich habe es mittlerweile lösen können. Ich Idiot hätte auch wirklich früher drauf kommen können, ich bin nämlich vor einiger Zeit schon mal drauf reingefallen, habe es aber wohl verdrängt, weil's einfach zu gruselig ist: der verf***te ODBC-Treiber (zumindest für PHP, bin in letzter Zeit eher mit perl drangegangen, da war alles OK...) dieses schon etwas angejahrten Adabas-Systems reicht Datumsformate nicht 1:1 an die DB durch, sondern verbiegt sie in höchst eigenwilliger Art und Weise. Ich muß in der Anwendung Datumsangaben im Format 'YYYY-MM-DD' erzeugen, damit sie als 'YYYYMMDD' in der DB ankommen. Im SQL-Tool hingegen muß ich sie in der Form 'YYYYMMDD' angeben, 'YYYY-MM-DD' wird als falsches Datumsformat angemeckert. Ich komme also zwangsläufig auf die falsche Fährte, wenn ich das generierte SQL-Statement per Copy and Paste in das SQL-Tool bringe, um es zu überprüfen.

Hoffentlich kommt das jetzt endlich mal in meinem Rückenmark an, damit ich kein drittes Mal mehr darauf reinfalle :upps

AAAARRRGGGGHHHH....

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...