Avatar billede foxladi Nybegynder
11. oktober 2004 - 00:42 Der er 6 kommentarer og
1 løsning

Fejl i SQL-syntaksen, men hvor?

Jeg har lavet dette script:

$opskrift=mysql_query("SELECT * FROM opskrifter WHERE initial='A' ORDER BY navn DESC") or die(mysql_error());
while ($row = mysql_fetch_array($opskrift)) {

//indlæs counter for tip med id...
$taeller=mysql_query("SELECT counter FROM opskrifter WHERE navn=".$row['navn']."");

    print "".$row['navn']." ".$row['ingredienser']." ".$row['forklaring']." ".$row['counter']."";

//Opdater tæller
mysql_query("UPDATE opskrifter SET counter=counter+1 WHERE navn=".$row['navn']." limit 1") or die(mysql_error());
}

Som desværre giver en fejlmeddelelse, som siger:

"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 'riddere' at line 1"

I min test-opskrift har jeg oprettet en med navnet "Arme riddere": http://www.foxladi.com/opskrifter-a.php

Jeg kan ikke få øje på fejlen. Hvor går det galt?
Avatar billede erikjacobsen Ekspert
11. oktober 2004 - 00:44 #1
mysql_query("UPDATE opskrifter SET counter=counter+1 WHERE navn='".$row['navn']."' limit 1") or die(mysql_error());
Avatar billede foxladi Nybegynder
11. oktober 2004 - 00:49 #2
Wow, ja! Du er lynhurtig og rigtig meget effektiv! Tusind tak. Er der noget, jeg kan gøre til gengæld, nu, hvor du hverken samler på point eller karma?
Avatar billede erikjacobsen Ekspert
11. oktober 2004 - 00:52 #3
Ja, du kan droppe linien
$taeller=mysql_query("SELECT counter FROM opskrifter WHERE navn=".$row['navn']."");
der ikke gøre hverken fra eller til.
Avatar billede foxladi Nybegynder
11. oktober 2004 - 00:55 #4
Utroligt! Du har sørme ret igen. Jeg troede, at den skulle med for at vise tælleren, men det er ikke nødvendigt, nej. Sig mig, har du også en hjemmeside, hvor man kan blive klogere?
Avatar billede foxladi Nybegynder
11. oktober 2004 - 01:01 #5
Nå, det bliver i morgen, jeg -- håber jeg -- får dit svar. Nu smutter jeg i seng. Godnat , og tak for hjælpen :-)
Avatar billede erikjacobsen Ekspert
11. oktober 2004 - 10:18 #6
Klogere kan man vel altid blive, men jeg har ikke et bud på ét sted, der skulle
være specielt godt.

En anden ting du bør gøre:

mysql_query("UPDATE opskrifter SET counter=counter+1 WHERE navn='".addslashes($row['navn'])."' limit 1") or die(mysql_error());

Ellers får du bøvl med "Janson's fristelser"

PS: Husk at svare og acceptere eget svar.
Avatar billede foxladi Nybegynder
11. oktober 2004 - 15:57 #7
Tak for det meget vigtige tip!
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