Arne Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 (endret) Hei! Eg held litt på med å lage ei gjestebok, mest for lære og kanskje legge den ut på sida mi. Well, well... Eg har mekka i saman noko kode, men det virkar ikkje. Feilmelding: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/***/***/***/tom4.php on line 28 Her er koden: <html> <head> <title>ACP - Gjestebok</title> </head> <body> <?php //Lagring for evt. innlegg. $tilkobling = mysql_connect("busted", "busted", "busted"); if (isset($_POST['message']) AND isset($_POST['name'])){ $ip = $_SERVER['REMOTE_ADDR']; $name = htmlentities($_POST['name']); $message = htmlentites($_POST['massage']); mysql_select_db("div", $tilkobling); $query = "INSERT INTO guestbook (user, message, ip) VALUES ('$name', '$message', '$ip')"; mysql_query($query, $tilkobling); } $query2 = "SELECT * FROM guestbook ORDER BY name"; $result = mysql_query($query2, $tilkobling); while($rad = mysql_fetch_array($result)) { echo "<div id='guestbook'>"; echo "<h3>" . $rad['ip'] . "</h3>"; echo '<br><br><br>'; echo "<p>" . $rad['message'] . "</p></div>"; } echo '<br><br>'; echo "<form action='tom4.php' method='post'> <input type='text' name='name'> <textarea name='message' cols='20' rows='4'></textarea> <input type='submit' value='SeNd!!'> </form>" ?> </body> </html> Kva kan feilen vere? Endret 16. februar 2006 av Fjott Lenke til kommentar
easypwn Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 hm.. jeg er newb men.. du har mysql_connect("busted", "busted", "busted"); det skal vel være mysql_connect("host", "username", "passord");.. har du noen maskin med host 'busted'? prøv 'localhost' for host om du kjører mysql på samme server.. om brukernavn og passord er 'busted' begge to kan du vel prøve mysql_connect("localhost", "busted", "busted); .. om d ikke funker prøv å echo mysql_error(); før du tar mysql_close(); og reply med feilmeldingen du får Lenke til kommentar
Beethoven Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Jeg er usikker, men tror du bør endre følgende linje: $query2 = "SELECT * FROM guestbook ORDER BY name"; til: $query2 = "SELECT * FROM guestbook ORDER BY name ASC"; Lenke til kommentar
0lav Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 (endret) Har du i det heletatt en rad i databasen som heter name? Når jeg ser på queryen hvor du setter ting i databasen så har du en rad som heter user. Kan jo hende at du har en som heter name fordi selfølgelig men. $query = "INSERT INTO guestbook (user, message, ip) VALUES ('$name', '$message', '$ip')"; Endret 16. februar 2006 av 0lav Lenke til kommentar
kakkle Skrevet 16. februar 2006 Del Skrevet 16. februar 2006 Mange bra svar her Jeg stemmer på Olav sitt forslag. En grei regel er å alltid kjøre en mysql_error etter en spørring, slik at du får beskjed om hva som er feil dersom noe går galt: $query = "INSERT INTO guestbook (user, message, ip) VALUES ('$name', '$message', '$ip')"; mysql_query($query, $tilkobling) or die("Feil i spørring: $query<br> Mysql-error: <br>".mysql_error()); Lenke til kommentar
Arne Skrevet 17. februar 2006 Forfatter Del Skrevet 17. februar 2006 Takk, men det virker ikkje. Erroren er at eg ikkje har valgt database: No database selected Lenke til kommentar
kakkle Skrevet 17. februar 2006 Del Skrevet 17. februar 2006 Så da har du løst problemet, da ? Forresten, så regner jeg med at du legger inn "or die(..." etter den andre mysqlquery setningen også? Lenke til kommentar
Arne Skrevet 17. februar 2006 Forfatter Del Skrevet 17. februar 2006 Kakkle: Nei, har ikke or die(). Problemet er ikkje løyst. Eg har jo valgt ein database! Lenke til kommentar
Magnus Holm Skrevet 17. februar 2006 Del Skrevet 17. februar 2006 Nope. Du har valgt en server. Bare sett inn: mysql_select_db("din database") etter du har koblet til serveren. Lenke til kommentar
Arne Skrevet 17. februar 2006 Forfatter Del Skrevet 17. februar 2006 JO! Eg har valgt ein server. mysql_select_database(""); Er i koden min. Hosten min (http://dcvnet.net) har nettopp bytta server og instalert ny php og programvare. Er det ein ide å sende ein mail til han? Viss han seier det ikkje er noko feil med programvare, så er han så god i PHP at han sikkert kan svare på problemet. Men selfølgeleg håpar eg at de kan hjelpe meg. Lenke til kommentar
kakkle Skrevet 17. februar 2006 Del Skrevet 17. februar 2006 Hmmm... Men det var jo ikke den feilmeldingen du fikk først ? Logg inn i phpmyadmin og sjekk om databasenavnet er riktig (div) Husk også på at du bare velger database, dersom feltene message og name er satt... Dersom disse ikke er satt, så prøver du fortsatt å kjøre spørring mot databasen (som du da ikke har valgt) med $query2 . Det er vel kanskje litt ugunstig koding , synes du ikke ? Lenke til kommentar
Arne Skrevet 17. februar 2006 Forfatter Del Skrevet 17. februar 2006 Feltene message og name er satt. Databasen heiter div og har feltene "name", "message" og "ip". Lenke til kommentar
kakkle Skrevet 18. februar 2006 Del Skrevet 18. februar 2006 Hvor kommer feilen ? Regner med at den kommer på SELECT spørringen ? Det er nok fordi at du kun velger database inni if blokken. Prøv å flytt mysql_select_db til over if setningen (Den som sjekker om message og name er satt) Lenke til kommentar
Arne Skrevet 19. februar 2006 Forfatter Del Skrevet 19. februar 2006 TUSEN TAKK! Dette virka som knall! Men lurer på ein ting til... Korleis kan eg sortere martisen(arrayet) $rad['']? Skulle ha sortert slik at det nyaste innlegget kjem fyrst. sort()? Lenke til kommentar
Christian_ Skrevet 19. februar 2006 Del Skrevet 19. februar 2006 Legg til et kolonne som automatisk setter id'er på radene og sorter med "ORDER BY". Dette kan gjøre automatisk i MySql Lenke til kommentar
Arne Skrevet 19. februar 2006 Forfatter Del Skrevet 19. februar 2006 (endret) Ok, tusen takk. Korleis kan eg få databasen til å legge inn "neste" id? For eksempel: id name message ip 1 idiot hehei 197.0.197.1 Korleis kan eg berre legge til "name", "message" og "ip" slik at "id" berre blir større og større? Slik at om eg legg til "name", "message" og "ip" så kjem "id" av seg sjølv? Endret 19. februar 2006 av Fjott Lenke til kommentar
Christian_ Skrevet 19. februar 2006 Del Skrevet 19. februar 2006 Sett "id" til å bli unik og auto_increment om jeg ikke husker helt feil Lenke til kommentar
Arne Skrevet 20. februar 2006 Forfatter Del Skrevet 20. februar 2006 Takk, men koreis legg eg til ein ny rad som heiter "id" i tabellen? Brukar phpmyadmin. Lenke til kommentar
Christian_ Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 Hva mener du med en ny rad? Er det en ny kolonne du mener? Lenke til kommentar
molly Skrevet 20. februar 2006 Del Skrevet 20. februar 2006 Hva mener du med en ny rad? Er det en ny kolonne du mener? 5636376[/snapback] Satser på at det er snakk om en kolonne. Da er det bare å velge tabellen hvor den ny kolonnen skal inn, og litt ned på siden så står det noe ala "add a new field" eller noe sånt, og der kan du legge til nye kolonner i tabellen din. 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å