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

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[MySQL/PHP] Problem med query
Fra : Martin


Dato : 17-06-05 04:09

Hej gruppe...

Jeg har et underligt problem, hvis jeg prøver at parse følgende sql
query i PHP:
LOAD DATA INFILE
   'tekst.txt'
INTO TABLE
   tabel
FIELDS TERMINATED BY ';'
ENCLOSED BY '\"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'

får jeg denne fejl i php:
You have an error in your SQL syntax. Check the manual that corresponds
to your MySQL server version for the right syntax to use near ''' at line 8

Men hvis jeg paster den direkte ind i phpmyadmin, så er der ingen
problemer og alle poster i filen finder den og smider korrekt ind i
tabellen.

Er der nogen der er ved hvad der er galt ?

PS: Jeg har x-postet denne i php og database gruppen, fordi jeg tror det
er en PHP fejl, men er absolut ikk sikker på noget.

 
 
Martin (17-06-2005)
Kommentar
Fra : Martin


Dato : 17-06-05 04:19

Glemte nok lige at skrive at jeg bruger
PHP Version 5.0.3, MySQL 4.0.23, phpMyAdmin 2.6.2-rc1 og Apache2
På en Windows XP SP2 maskine

Per Thomsen (17-06-2005)
Kommentar
Fra : Per Thomsen


Dato : 17-06-05 11:03

Martin wrote:
> Hej gruppe...
>
> Jeg har et underligt problem, hvis jeg prøver at parse følgende sql
> query i PHP:
> LOAD DATA INFILE
>    'tekst.txt'
> INTO TABLE
>    tabel
> FIELDS TERMINATED BY ';'
> ENCLOSED BY '\"'
> ESCAPED BY '\\'
> LINES TERMINATED BY '\r\n'
>
> får jeg denne fejl i php:
> You have an error in your SQL syntax. Check the manual that corresponds
> to your MySQL server version for the right syntax to use near ''' at line 8
>

FUT: dk.edb.internet.webdesign.serverside.php


Bare et gæt:
Enkelt quotes bliver ikke parset så '\r\n' er alstå karaktererne \r\n,
måske du gerne ville have dem parset? Prøv at udskifte '\r\n' med "\r\n"
(det kan være at PhpMyAdmin retter det for dig).

Men det ville måske være nemmere at hjælpe dig, hvis du viste os lidt
mere af den omkringliggende php kode. Er det en HEREDOC string, eller
har du klippet noget væk, eller er det bare en string, der går over
flere linjer?


MVH Per Thomsen,
http://www.pert.dk/
HEREDOC:
<http://dk2.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc>

Martin (17-06-2005)
Kommentar
Fra : Martin


Dato : 17-06-05 12:16

Per Thomsen wrote:
> Bare et gæt:
> Enkelt quotes bliver ikke parset så '\r\n' er alstå karaktererne \r\n,
> måske du gerne ville have dem parset? Prøv at udskifte '\r\n' med "\r\n"
> (det kan være at PhpMyAdmin retter det for dig).

Desværre det gav intet :(

>
> Men det ville måske være nemmere at hjælpe dig, hvis du viste os lidt
> mere af den omkringliggende php kode. Er det en HEREDOC string, eller
> har du klippet noget væk, eller er det bare en string, der går over
> flere linjer?

Der er intet omkring liggende kode.

Det eneste der står i den phpfil er
<?php
openconn(); // Åbner database forbindelsen
$sql = mysql_query("
LOAD DATA......") OR DIE (mysql_error());
?>

Jeg har kun lige lavet queryen på flere linjer så jeg kunne finde ud af
hvor der var fejl.

Martin (17-06-2005)
Kommentar
Fra : Martin


Dato : 17-06-05 14:13

Martin wrote:
> Hej gruppe...
>
> Jeg har et underligt problem, hvis jeg prøver at parse følgende sql
> query i PHP:
> LOAD DATA INFILE
>    'tekst.txt'
> INTO TABLE
>    tabel
> FIELDS TERMINATED BY ';'
> ENCLOSED BY '\"'
> ESCAPED BY '\\'
> LINES TERMINATED BY '\r\n'

Løsning fundet :)
Der skulle lige en ekstra \ i ESCAPED BY - gud ved hvorfor, men jeg gør
ikk - men nu virker det perfekt :)

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408921
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste