Ralle skrev:
> Jesper Brunholm wrote in dk.edb.internet.webdesign.serverside.php:
> > Hej Ralle
> >
> > > sql_spoerg("UPDATE enzolim SET sitename=$sitename;");
> > > sql_spoerg("UPDATE enzolim SET siteslogan=$siteslogan;");
> > > sql_spoerg("UPDATE enzolim SET content=$content;");
> >
> > Det her er der et par problemer med. For det første så skal tekststrenge
> > i mysql "quotes", det er (ligesom i PHP) kun tal man må bruge uden
> > anførselstegn om, så lad os begynde med at rette den del:
> >
> > "UPDATE enzolim SET sitename='$sitename';"
> >
> > Dernæst så vil denne kommando gøre at alle rækker i tabellen enzolim
> > bliver opdateret til at sitename = $sitename. Normalt ønsker man kun at
> > en enkelt række skal opdateres, så sæt en WHERE på:
> >
> > "UPDATE enzolim SET sitename='$sitename' WHERE ID = $retteid;"
> >
> > (ID formodes at være et tal, derfor ingen anførselstegn om.)
> >
> > enzolim er 1 tabel, så vi kan lige så godt lave alle tre rettelser på en
> > gang, når vi nu har fat i tabellen:
> >
> > "UPDATE enzolim SET sitename='$sitename', siteslogan='$siteslogan',
> > content='$content' WHERE ID = $retteid;"
> >
> > Når så der går ged i den, så er det vældigt praktiskt at kunne være
> > sikker på hvad man egentlig har smidt for en kommando afsted til MySQL.
> > Det kan du sikre dig sådan her:
> >
> > $rette_query="UPDATE enzolim SET sitename='$sitename',
> > siteslogan='$siteslogan', content='$content' WHERE ID = $retteid;";
> >
> > echo $rette_query;
> >
> > sql_spoerg($rette_query);
> >
> > Det giver også mulighed for at du kan klippe queryen ud fra echoet og
> > sætte den ind i phpmyadmin, så du er helt sikker på at få alle
> > fejlmeddelelser i fuld udskrift fra MySQL (jeg går ud fra at du har
> > noget mysql_query(query her)or die(mysql_error()); -lignende i sving
> > ovre i den sql_spoerg-funktionen, det tyder din fejlmeddelelse i hvert
> > fald på
>
> giver følgende fejl:
>
> UPDATE enzolim SET sitename='test', siteslogan='Sponsored By Ledervejen.dk',
> content='Test Test' WHERE ID = ;
> coldent done: UPDATE enzolim SET sitename='test', siteslogan='Sponsored By
> Ledervejen.dk', content='Test Test' WHERE ID = ;
> The Fail Is: 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 2
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! =>
http://www.html.dk/tutorials
Hej Ralle
Du har ikke angivet hvilken postering, der skal rettes. Dvs. du skal
have givet en (tal-)værdi i $retteid . Du kan se det på dit
SQL-query:
UPDATE enzolim SET sitename='test', siteslogan='Sponsored By
Ledervejen.dk', content='Test Test' WHERE ID = ;
Læg mærke til den sidste del: WHERE ID =
Det er fordi $retteid er tomt, og SQL forventer at der står en værdi
(tal, streng, et-eller-andet) efter lighedstegnet.
Hvis det stadig ikke virker, skal du måske kigge efter om enzolim har
en kolonne med navnet ID - ellers skal denne oprettes, og du skal nok
sætte den til auto_increment.
Mvh
Jesper
--
http://www.tandklinikken-vesterbro.dk/ ,
http://fdf.dk/landsdel1/