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