Ildflue Skrevet 12. november 2006 Del Skrevet 12. november 2006 Er det noen som kan se hvorfor denne koden ikke virker? mysql_query("INSERT INTO news (`time`, `title`, `author`, `text`) VALUES (`$time`, `$_POST[title]`, `$_POST[auth]`, `$_POST[text]`)"); Altså den vil ikke legge til noen nye rader i tabellen. Har connecta og alt det der, klarer å hente ut values men den vil ikke legge inn av en eller annen grunn. Håper at det det noen her som kan se feilen Lenke til kommentar
nomore Skrevet 12. november 2006 Del Skrevet 12. november 2006 To tips. Fjern ' og ' fra kollonnenavna, og lett til or die(mysql_error()) på slutten av linja før ;. Lenke til kommentar
Peter Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) Er det noen som kan se hvorfor denne koden ikke virker? mysql_query("INSERT INTO news (`time`, `title`, `author`, `text`) VALUES (`$time`, `$_POST[title]`, `$_POST[auth]`, `$_POST[text]`)"); Altså den vil ikke legge til noen nye rader i tabellen. Har connecta og alt det der, klarer å hente ut values men den vil ikke legge inn av en eller annen grunn. Håper at det det noen her som kan se feilen 7267468[/snapback] Jeg ser tre feil. Først og fremst må du gjøre som nomore sier, fjerne fnuttene der du angir hvilke kolonner ting skal settes inn i. For det andre så skal assoiative arrayers indekser angis med fnutter. $_POST['title'] <- RIKTIG $_POST[title] <- GALT Og sist men ikke minst, du legger data rett inn i databasen uten å tenke på sikkerhet. Så lenge brukerinput rett i en database uten å sjekke den først, det er som å putte hodet i giljotinen og vente på at brukeren skal slippe kniven. Mer lesing: http://no2.php.net/manual/en/language.types.array.php "Avsnitt: Array do's and don'ts" http://no2.php.net/manual/en/function.mysq...cape-string.php for å sjekke/sikre brukerinput http://dev.mysql.com/doc/refman/4.1/en/insert.html INSERT syntaksen Dessuten håper jeg du tar vare på returverdien fra mysql_query og sjekker denne, men det ser vi ikke ut fra koden du la inn. Endret 12. november 2006 av Nazgul Lenke til kommentar
Ernie Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) Feil Nazgul. Du har rett i det med sikkerheten, men problemet er ikke bruken av ` rundt kolonnenavn, for det er helt korrekt i forhold til mysql. Det som er problemet er bruken av ` rundt dataene. Der skal man bruke ' . Tilslutt er det helt korrekt å bruke $_POST[title] siden det er inni en " " . $_POST['title'] vil ikke engang fungere, og det står det ironisk nok der du linker også Endret 12. november 2006 av Ernie Lenke til kommentar
Peter Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) Fikk bare med meg denne. You should always use quotes around a string literal array index. For example, use $foo['bar'] and not $foo[bar]. Nederst står det som Ernie sier, Note: To reiterate, inside a double-quoted string, it's valid to not surround array indexes with quotes so "$foo[bar]" is valid. Personlig skriver jeg alltid echo 'abc'.$_POST['minvar'].'123'; Så jeg escaper alltid variable, derfor har jeg aldri visst om eller hatt behov for den andre syntaksen. Men ja, jeg sa feil. Og mysql-manualen oppgir ihvertfall kolonnenavnene uten fnutter, så da antok jeg at det var feil. Endret 12. november 2006 av Nazgul Lenke til kommentar
endrebjo Skrevet 12. november 2006 Del Skrevet 12. november 2006 (endret) I dette tilfellet: $_POST[title] Riktig (Edit: Det var visst riktig allikevel) $_POST['title'] Galt {$_POST['title']} Riktig Du trenger ikke nødvendig med fnutter rundt kolonnenavnene. Det er faktisk ikke lov med '-fnutter rundt kolonnenavnene. `-fnutter ser ut som er lov. Det er ikke lurt å bruke `-fnutter rundt strengene. Jeg får feil i mine spørringer med det, og den tror at verdiene er blitt kolonnenavn. '-fnuttene er best å bruke. ` = ved siden av backspace-tasten ' = ved siden av enter-tasten Endret 12. november 2006 av endrebjorsvik Lenke til kommentar
tom waits for alice Skrevet 13. november 2006 Del Skrevet 13. november 2006 Dette er kanskje mere et SQL-spørsmål, så jeg flytter tråden til databaser. Edit: Trådstarter må gjerne forbedre emnetittelen også, så den sier hva problemet dreier seg om, ikke bare at det er et problem. F. eks. "MySQL: Insert statement virker ikke" Geir 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å