Avatar billede svinth Nybegynder
23. maj 2001 - 11:40 Der er 13 kommentarer og
1 løsning

MySQL+PHP: Error in SQL syntax

Hej MySQL gruppe

Jeg har følgende lille kodestump:

  $db = mysql_connect(\"localhost:3306\",\"Test\",\"Test\");
  $db = mysql_select_db(\"MinDB\");
    $SQL=\"UPDATE users SET status=\'0\' WHERE nick=\'Svante\'\";
echo \"<br>\".$SQL.\"<br>\";
    $result = mysql_query($SQL)
          or die (\"MySQL error: \" . mysql_error() . \"<P>\");

denne stump resulterer i følgende output:

UPDATE users SET status=\'0\' WHERE nick=\'Svante\'
MySQL error: You have an error in your SQL syntax near \'\'12345\' at line 1

Hertil skal siges at jeg har en database entry kaldet ID der indeholder værdien 12345 i den entry der indeholder nick=Svante

Men hvad i al verden går denne fejl ud på?
Er der tale om en fejl i databasen eller hvad?
Eller måske manglende rettigheder?

M.v.h. Svante
Avatar billede delphimann Nybegynder
23. maj 2001 - 11:42 #1
hmm hvad hedder dit row ?? *sS* det går jo ikke hvis det ikke er langt nok... *ss* ;-)
Avatar billede mwittrock Nybegynder
23. maj 2001 - 11:43 #2
Mon ikke Status er en numerisk kolonne? I så fald skal du ikke sætte

Status = \'0\'

men derimod

Status = 0
Avatar billede delphimann Nybegynder
23. maj 2001 - 11:44 #3
jeg kan sq desværre ikke se hvor du får værdien 12345 fra ??!du indsætter den jo ikke så dr bør ikke kunne ske fejl.... den er jo ikke med i dit string
Avatar billede delphimann Nybegynder
23. maj 2001 - 11:45 #4
MW.... en grundregle siger alle mysql værdier skal omringes af \' *sS*
Avatar billede henrik_ffc Nybegynder
23. maj 2001 - 11:46 #5
Hvis der er i databasen, kan du prøve at rette den med:
  repair table users
Avatar billede henrik_ffc Nybegynder
23. maj 2001 - 11:47 #6
Hvis der er FEJL i d.....
Avatar billede svinth Nybegynder
23. maj 2001 - 12:01 #7
Hej igen.

Det var vist lidt noget vrøvl jeg fyrede af lige før. Jeg har ikke en entry kaldet ID, men derimod hedder primær nøglen i de enkelte entries \'ID\'.

mwittrock, dit svar er afvist, da jeg har prøvet med og uden apostroffer.

delphimann, hvad mener du med det om hvad mit row hedder?

M.v.h. Svante
Avatar billede henrik_ffc Nybegynder
23. maj 2001 - 12:05 #8
prøv at send os en
  desc users
så vi kan se hvordan tabellen er opbygget
Avatar billede erikjacobsen Ekspert
23. maj 2001 - 12:11 #9
Det kan ikke lade sig gøre, Svante. Du prøver sikkert at afvikle en anden fil
end du tror.
Avatar billede delphimann Nybegynder
23. maj 2001 - 12:17 #10
primær nøgle... hmm så kan den vist ikke ind gå i 2 \"bruger\" ... kan være der fejlen ligger *Ss*
Hvad er din Status ?? int ? hvad er nick Varechar ?!
Avatar billede svinth Nybegynder
26. maj 2001 - 10:38 #11
Hej igen.

Jeg har løst problemet. Det vidste sig at fejlen ikke optrådte på det sted hvor jeg troede, men derimod i en sub-rutine. Derfor var sql-sætningen der blev output\'et ikke identisk med det sted hvor fejlen skete. Jeg havde med andre ord fået isoleret fejlen til et forkert sted!

M.v.h. Svante
Avatar billede svinth Nybegynder
26. maj 2001 - 10:38 #12
*ploink*
Avatar billede erikjacobsen Ekspert
26. maj 2001 - 10:47 #13
..som jeg sagde, Svante ... :)
Avatar billede svinth Nybegynder
28. maj 2001 - 11:46 #14
Hej Erik :).

Du sagde at jeg havde fat i en forkert fil, ikke at jeg kiggede på den forkerte SQL sætning!
Men efter at have ladet mig inspirere af din kendte grundighed, gik jeg lidt mere systematisk til værks :).

M.v.h. Svante.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester