/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
problemer med backslash
Fra : Bo Overgaard


Dato : 15-05-01 20:25

Hej

Jeg er ved at lave en side i PHP hvor jeg læser data ind fra en textfil i
MySQL. Jeg bruger funktionen LOAD DATA INFILE som beskrevet i mysql
manualen. Det fungere da også fint. Der er blot et problem. Min textfil
indeholder en del stinavne a. la. d:\bo\apache\php\ osv. og det er her det
går galt. For MySQL fortolker eksempelvis \b som "backspace character" som
der står i manualen, eller på godt dansk sletter tasten så der i dertabasen
kommer til at stå følgendene do\apache\php\ osv. Kan i se problemet. Det
handeler ikke kun om \b men en hel række specialtegn som kan alle består af
backslash og et bogstav. (se evt
http://www.mysql.com/doc/S/t/String_syntax.html).
Håber nogen har et bud på en løsning.

På forhånd tak

Bo Overgaard

min php kode er:
$insertSQL = "LOAD DATA INFILE 'ddir-shp.txt' into table nydata";
mysql_query($insertSQL);




 
 
Christian Joergensen (15-05-2001)
Kommentar
Fra : Christian Joergensen


Dato : 15-05-01 20:59

Bo Overgaard <BoOvergaard@worldonline.dk> wrote:

> Hej
>
> Jeg er ved at lave en side i PHP hvor jeg læser data ind fra en textfil i
> MySQL. Jeg bruger funktionen LOAD DATA INFILE som beskrevet i mysql
> manualen. Det fungere da også fint. Der er blot et problem. Min textfil
> indeholder en del stinavne a. la. d:\bo\apache\php\ osv. og det er her det
> går galt. For MySQL fortolker eksempelvis \b som "backspace character"

[snip]

> min php kode er:
> $insertSQL = "LOAD DATA INFILE 'ddir-shp.txt' into table nydata";
> mysql_query($insertSQL);

$insertSQL =
"LOAD DATA INFILE 'ddir-shp.txt' into table nydata escaped by '\\'";

<http://www.mysql.com/doc/L/O/LOAD_DATA.html>

--
Christian Jørgensen | "Ford, you're turning into a penguin"
http://www.razor.dk | "Stop it"

Bo Overgaard (15-05-2001)
Kommentar
Fra : Bo Overgaard


Dato : 15-05-01 21:42


"Christian Joergensen" <mail@phpguru.dk> wrote in message
news:1143652.I2rZIcsR56@flaf...
> Bo Overgaard <BoOvergaard@worldonline.dk> wrote:
>
> > Hej
> >
> > Jeg er ved at lave en side i PHP hvor jeg læser data ind fra en textfil
i
> > MySQL. Jeg bruger funktionen LOAD DATA INFILE som beskrevet i mysql
> > manualen. Det fungere da også fint. Der er blot et problem. Min textfil
> > indeholder en del stinavne a. la. d:\bo\apache\php\ osv. og det er her
det
> > går galt. For MySQL fortolker eksempelvis \b som "backspace character"
>
> [snip]
>
> > min php kode er:
> > $insertSQL = "LOAD DATA INFILE 'ddir-shp.txt' into table nydata";
> > mysql_query($insertSQL);
>
> $insertSQL =
> "LOAD DATA INFILE 'ddir-shp.txt' into table nydata escaped by '\\'";
>
Hej Christian
Tak for tippet, det var nu ikke helt korrekt - der manglede et FIELDS i
sætningen, men du fik mig da på rette spor. Hvis der er andre der står med
et tilsvarendene problem kan jeg oplyse at sætningen der løste problemet ser
såden ud:
$insertSQL = "LOAD DATA INFILE 'ddir-shp.txt' into table nydata FIELDS
ESCAPED BY '\\'";

Tak for hurtig hjælp

Bo Overgaard



Søg
Reklame
Statistik
Spørgsmål : 177507
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste