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....

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...