Avatar billede dazzy Nybegynder
19. oktober 2009 - 21:37 Der er 14 kommentarer og
1 løsning

Rette tekst i databasen

Hej derude har et script jeg ikke kan få til at virke.
Har aldrig haft problemer med det men kan simpelthen ikke finde fejlen. Har prøvet at bygge det op fra bunden flere gange.

Forstår det ikke, har prøvet flere variationer af det det eneste jeg får tilbage er:

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 1

Scriptet er her:
mysql_query("UPDATE news SET nummer = '1', overskrift = '1', kort = '1', nyhed = '1', image = '1', forfatter = '1', dato = '1' WHERE id=".$_POST['id']."") or die(mysql_error());

På forhånd tak
Avatar billede virtual1ty Nybegynder
19. oktober 2009 - 21:46 #1
WHERE id=".$_POST['id']."")

Prøv at fjerne den ene " (til sidst)
Hvis det ikke hjælper, så prøv at tilføje en.
Er 99,9% sikker på at det er der, fejlen er.
Avatar billede virtual1ty Nybegynder
19. oktober 2009 - 21:49 #2
Ellers så gør dette:

WHERE id='$_POST[id]'")
Avatar billede dazzy Nybegynder
19. oktober 2009 - 21:54 #3
Har prøvet begge dele, har lige prøvet det igen.

Grunden til at der er to til sidst er at den sidste skal afslutte den aller første:
mysql_query("UPDATE
19. oktober 2009 - 22:06 #4
Jeg giver dazzy ret i at antallet af quotes er korrekt.  Jeg splittede det op saadan:

mysql_query
(
  "
    UPDATE news
    SET nummer = '1', overskrift = '1', kort = '1', nyhed = '1', image = '1', forfatter = '1', dato = '1'
    WHERE id=
      "
        .$_POST['id'].
      "
  "
) or die(mysql_error());

Men hvad er datatyperne i tabellen?  Jeg ville gaette paa at for eksempel nummer er INT.  I saafald skal der ikke quotes rundt om.  Set nummer = 1, .....
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:08 #5
mysql_query("UPDATE news SET nummer = '1', overskrift = '1', kort = '1', nyhed = '1', image = '1', forfatter = '1', dato = '1' WHERE id='".$_POST['id']."'") or die(mysql_error());

Du har alle de andre cifrer inden for ', hvilket ikke burde være nødvendigt (hvis det altså er number). Men er det ikke number, skal de være indenfor.
Avatar billede dazzy Nybegynder
19. oktober 2009 - 22:10 #6
Har nu prøvet at gøre som du skrier, men samme problem. Ja nummer havde jeg sat til int.

Forstår det ikke, næsten samme script virker på en anden side...
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:14 #7
Christian_Belgien>>MySQL er ligeglad om der er ' eller ej i numbers. Det korrekte er selvfølgelig at ikke ha'. Så virker sqlstringen også i andre databaser, som brokker sig over det.
Avatar billede dazzy Nybegynder
19. oktober 2009 - 22:17 #8
Vil jeg begynde med fremover.
Men skal først ha løst mit mystiske problem. Bruger samme database udbyder som i de andre scripts, hvor det virker. Den eneste forskel er mine felter
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:20 #9
Prøv at udskrive din sql, i stedet for at køre den:


$sql="UPDATE news SET nummer = '1', overskrift = '1', kort = '1', nyhed = '1', image = '1', forfatter = '1', dato = '1' WHERE id=".$_POST['id']."";
//mysql_query($sql) or die(mysql_error());
echo $sql;
Avatar billede dazzy Nybegynder
19. oktober 2009 - 22:25 #10
Får dette :
UPDATE news SET nummer = '1', overskrift = '1', kort = '1', nyhed = '1', image = '1', forfatter = '1', dato = '1' WHERE id=
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:28 #11
Der har du fejlen ;o)
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:29 #12
Du får ikke dit id med. Check altid variabler ;o)
Avatar billede dazzy Nybegynder
19. oktober 2009 - 22:32 #13
Ja så jeg også lige :)... er igang med at rode med det..
Lig et svar
Avatar billede michael_stim Ekspert
19. oktober 2009 - 22:40 #14
Ellers tak, samler ikke på point.
20. oktober 2009 - 20:27 #15
Dazzy, hvis du lukker svaret saa staar det ikke laengere som aabent paa min liste af indlaeg.  Hvis ikke michael_stim er interesseret i at give et svar og faa punkter saa lav selv et svar og giv dig selv punkter.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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