Mailinglisten-Archive |
On Fri, May 11, 2001 at 09:52:14AM +0200, Juri.Smarschevski wrote: > > -----Original Message----- > > From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]On Behalf Of > > Christopher Nehls > > Sent: Thursday, May 10, 2001 7:47 PM > > To: php_(at)_php-center.de > > Subject: [php] Probleme bei Einfügen in Oracle-Datenbank > > > > > > Nabend! > Hi Christopher > > > Ich möchte über ein Skript ein größere Menge von Datensätzen in eine > > Oracle-Tabelle einfügen. > > Bei ca 3% der Datensätze klappt es leider nicht so wie gewünscht: Es sind > > die Datensätze, die ein Hochkomma ( ' ), was ja die einzelnen Werte im > > SQL-Befehl voneinander trennt. Wie kann ich mittels PHP-Befehlen das > > Scheiß-Ding maskieren, dass es trotzdem richtig in der Datenbank ankommt > > IMHO werden die ' im Oracle auch mit ' maskiert. > > ...WHERE Feld="It''s not possible" am besten benutzt du bind: <?php $data = array("larry","bill","steve"); $db = OCILogon("scott","tiger"); $stmt = OCIParse($db,"insert into names values (myid.nextval,:name) returning id into :id"); OCIBindByName($stmt,":ID",$id,32); OCIBindByName($stmt,":NAME",$name,32); while (list(,$name) = each($data)) { OCIExecute($stmt); echo "$name got id:$id\n"; } ?> das ist viel schneller, und du brauchst nix zu escapen. tc
php::bar PHP Wiki - Listenarchive