5 Stimmen

php oci_bind_by_name float zu numerisch

Ich muss eine Fließkommazahl an eine OCI-Anweisung binden.

Was ich tue:

$price = 0.1
oci_bind_by_name($resource, 'price', $price);

In meiner Oracle DB ist 'price' ein Argument der gespeicherten Prozedur und sein Typ ist NUMERIC.

Nach der Ausführung meiner Anweisung erhalte ich die folgende Fehlermeldung:

Meldung: oci_execute() [function.oci-execute]: ORA-06502: PL/SQL: Numerischer oder Wert-Fehler: Fehler bei der Umwandlung von Zeichen in Zahlen ORA-06512: in Zeile 1

Wenn $price eine ganze Zahl ist, funktioniert alles gut. In den PHP-Dokumenten http://lv.php.net/manual/en/function.oci-bind-by-name.php Für den fünften Parameter (int $type = SQLT_CHR) habe ich keinen speziellen Typ für Floats gefunden.

Antwort gefunden: Ich habe gerade das Dezimalsymbol in meinem Betriebssystem von "," in "." geändert und jetzt funktioniert alles einwandfrei

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X