buffey Skrevet 11. januar 2007 Rapporter Del Skrevet 11. januar 2007 (endret) UPDATE `nyhetdb` SET `tittel` = '$_GET[tittel]', `forfatter` = '$_GET[forfatter]', `dato` = '$_GET[dato]', `forsidetekst` = '$_GET[forsidetekst]', `hovedtekst` = '$_GET[hovedtekst]' WHERE `id` = '$_GET[id]' LIMIT 1; Jeg prøver med dette skriptet å endre på nyheter som allerede er lagt til i databasen. Når jeg kjører skriptet kommer feilen "Duplicate entry '8' for key 1" hvor 8 er '$_GET[id]' og key 1 er ID. Det virker som om sql databasen klager på at jeg setter auto_increment (altså ID), og det vil den ikke, men jeg setter ikke denne (det er i såfall ikke meningen ) Hva kan jeg gjøre med skriptet så det vil fungere å update nyhetene? Jeg kjører nyeste versjon av PHP og MYSQL på lokal server. Takk for alle svar Buffey Endret 11. januar 2007 av buffey Lenke til kommentar
ZoRaC Skrevet 11. januar 2007 Rapporter Del Skrevet 11. januar 2007 For det første bør du ALDRI kjøre brukerinput rett i et query, kjør ALLTID via mysql_real_escape_string. Ellers mistenker jeg at du kanskje allerede har duplicate id (8) i tabellen, sjekk i phpMyAdmin. id feltet før være auto_increment og primary. Lenke til kommentar
buffey Skrevet 11. januar 2007 Forfatter Rapporter Del Skrevet 11. januar 2007 ID felt er både auto_increment og primary. Når det gjelder duplicate ID er det bare en med ID 8 (eller annen ID), nemlig den nyheten jeg prøver å redigere. Buffey Lenke til kommentar
ZoRaC Skrevet 11. januar 2007 Rapporter Del Skrevet 11. januar 2007 Hva får du opp om du kjører: mysql_query($query) or die(mysql_error() . "<br>".$query); Lenke til kommentar
buffey Skrevet 11. januar 2007 Forfatter Rapporter Del Skrevet 11. januar 2007 mysql_error er "Duplicate entry '8' for key 1", $query er "INSERT INTO `nyhetdb` ( `id` , `tittel` , `forsidetekst` , `forfatter` , `dato`, `hovedtekst` ) VALUES ( *alle variablene her*); Buffey Lenke til kommentar
ZoRaC Skrevet 11. januar 2007 Rapporter Del Skrevet 11. januar 2007 Der er feilen, du kjører "INSERT", ikke "UPDATE", men i første innlegg skrev du at du kjørte "UPDATE"... Ta en ekstra kikk i koden din... Lenke til kommentar
buffey Skrevet 11. januar 2007 Forfatter Rapporter Del Skrevet 11. januar 2007 Dro en rask en når jeg programerte dette ja, har definert $query 2 ganger, en gang som insert, til å legge til nyheter, og en gang for å oppdatere nyheter. Jeg har rettet dette og laget to forskjellige variabler nå, men nå får jeg dobbel "Query was empty" feilmelding, hva kan jeg gjøre med det? Lenke til kommentar
ZoRaC Skrevet 11. januar 2007 Rapporter Del Skrevet 11. januar 2007 Da har vel du laget $query1 og $query2 og så kjører du mysql_query($query)? Lenke til kommentar
buffey Skrevet 11. januar 2007 Forfatter Rapporter Del Skrevet 11. januar 2007 Har klart å identifisere feilen nå, sql query for edit news ble aldri kjørt på grunn av feil i koden, og add news query ble alltid kjørt, så det ble insert uansett hvilken form jeg brukte, jeg skal jobbe med det nå og se om jeg kan fikse det. Takk for rask hjelp! Buffey Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå