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