TheFinn Geschrieben 28. November 2009 Geschrieben 28. November 2009 Moin allerseits! Ich werd hier so langsam gaga, habe irgendeinen blinden Fleck, sehe ihn aber nicht. Vielleicht ja einer von Euch? Also: Ich baue in einem PHP-Skript einen String zusammen, der ein SQL-Statement darstellt.Dieser String, im SQL-Tool der DB ausgeführt, liefert ein Resultat (eine Zeile, neun Felder).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. Wenige Zeilen zuvor funktioniert eine andere Abfrage auf der selben DB-Verbindung völlig korrekt.Dies ist nicht meine erste Begegnung mit PHP/ODBC. Was zum Donner übersehe ich hier??? Zitieren
Reinhold Geschrieben 28. November 2009 Geschrieben 28. November 2009 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 Zitieren
TheFinn Geschrieben 28. November 2009 Autor Geschrieben 28. November 2009 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.... Zitieren
robotto7831a Geschrieben 28. November 2009 Geschrieben 28. November 2009 Das kann dir aber auch bei z. B. Oracle passieren. Wenn der Client ein anderes Datumsformat hat dann passieren auf einmal ganz komische Sachen. Frank Zitieren
Empfohlene Beiträge
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.