25. april 2004 - 14:38
Der er
46 kommentarer og 1 løsning
Fejl på gæstebog
Hejsa! Jeg er nybegynder med PHP, og er ved at lave en meget simpel gæstebog... Jeg får fejlen "Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource" ?? Er der nogen der ved hvad det betyder?? Eller skal i bruge mere information??
Annonceindlæg fra Infor
25. april 2004 - 14:43
#1
Du skal lige paste den linje hvor den henter fra mysql'en ... det er i den der er en fejl...
25. april 2004 - 14:46
#2
25. april 2004 - 14:46
#3
Hanafi.. Du har ikke oprettet nogle database.. Det vil måske være en ide :)
25. april 2004 - 14:46
#4
/ SVAR
25. april 2004 - 14:46
#5
biihz det du laver mås man ikke
25. april 2004 - 14:47
#6
nu har han gjordt det flere steder...
25. april 2004 - 14:52
#7
Der er indgivet en anmeldse på ham
25. april 2004 - 14:54
#8
fedt og han smider det som et svar, er der seriøst ikke snart nogen der kan gøre noget ved ham, han spammer jo totalt php sektionen her på siden.. hanafi, må vi se din mysql_query??? det er nok der den er gal
25. april 2004 - 14:57
#9
Jeg er desværre ikke helt med talker :-( "den linje hvor den henter fra mysql'en"
biihz, jeg har oprettet en database via "phpmyadmin"
gæstebogen ligger her:
www.diskotek-supersound.dk/gbog.php
25. april 2004 - 14:58
#10
Okay du går ned på din linje 26 der skulle gerne være 2 linjer lidt som det her: $query = mysql_query("select * from tagwall ORDER BY id DESC limit $s,$pr_side") or die(mysql_error()); while($tags = mysql_fetch_array($query)){ Dem paster du lige herind så vi kan se på dem :)
25. april 2004 - 15:00
#11
<? $db = mysql_connect("localhost", "bruger", "pass"); mysql_select_db("gbog", $db); if ($skriv){ $besked = str_replace("\n", "<BR>", $besked); $dato_array = getdate(); $dato = $dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"]; mysql_query("INSERT INTO bog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')"); } ?> <center> <FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>> <INPUT TYPE=hidden NAME=skriv VALUE=1> navn: <INPUT TYPE=text NAME=navn><BR> email: <INPUT TYPE=text NAME=email><BR> <TEXTAREA NAME=besked COLS=30 ROWS=5></TEXTAREA><BR> <INPUT TYPE=submit VALUE="send"> </FORM> <BR><BR> <TABLE> <? $foresp = mysql_query("SELECT navn, email, dato, besked FROM bog ORDER BY nr DESC"); while($data = mysql_fetch_row($foresp)){ echo "<TR><TD VALIGN=TOP>"; echo "fra: <A HREF=\"mailto:$data[1]\">$data[0]</A>"; echo "<BR>$data[2]"; echo "</TD><TD VALIGN=TOP>$data[3]</TD></TR>"; } ?> </TABLE> </CENTER>
25. april 2004 - 15:01
#12
ehm... linje 26? @.@ hvis jeg tæller korrekt så skulle det være echo "<BR>$data[2]"; men nok om det prøv du lige at bytte $foresp = mysql_query("SELECT navn, email, dato, besked FROM bog ORDER BY nr DESC"); while($data = mysql_fetch_row($foresp)){ ud med $foresp = mysql_query("SELECT * FROM bog ORDER BY nr DESC"); while($data = mysql_fetch_row($foresp)){
25. april 2004 - 15:04
#13
Jeg har ikke taget <html> og det der med... Men det giver det samme resultat :-(
25. april 2004 - 15:06
#14
$foresp = mysql_query("SELECT * FROM bog ORDER BY nr DESC"); while($data = mysql_fetch_row($foresp)){ skift ud med: $foresp = mysql_query("SELECT * FROM bog ORDER BY nr DESC") or die(mysql_error()); while($data = mysql_fetch_row($foresp)){
25. april 2004 - 15:08
#15
Så siger den "no database selected"... Er det min opsætning af databasen den er gal med??
25. april 2004 - 15:09
#16
hehe, så kan vi da se hvad fejl den kommer med, for det ser meget mytisk ud hvis din table og de forskellige feilds findes
25. april 2004 - 15:09
#17
mysql_select_db("databasenavn");
25. april 2004 - 15:09
#18
Så er det den den er gal med :) Det er fordi du ikke har valgt hvilken database den skal bruge mysql_connect("host","bruger","passs")or die (mysql_error()); mysql_select_db("databasen")or die (mysql_error());
25. april 2004 - 15:11
#19
eller er din pass/user forkert mysql_connect("host","user","pass") OR DIE(mysql_error());
25. april 2004 - 15:12
#20
hoster du selv eller?
25. april 2004 - 15:17
#21
Den er hosted ved b-one... Localhost, user og pass er korrekt, for det lavede den fejl ved først, inden jeg skrev herinde...
25. april 2004 - 15:18
#22
Brug mysql_connect("host","bruger","passs")or die (mysql_error()); mysql_select_db("databasen")or die (mysql_error()); for det er fordi du ikke har valgt databasen... det siger den jo :)
25. april 2004 - 15:19
#23
sikker på din database hedder "gbog"???
25. april 2004 - 15:24
#24
gør den ikke hos b-one :)
25. april 2004 - 15:28
#25
På phpmyadmin står der: Database: diskotek_supers - Tabel: gbog kører på localhost, så jeg går udfra den hedder "gbog". Hele koden ser sådan ud nu: <html> <head><title>gæstebog</title></head> <body> <? $db = mysql_connect("localhost", "diskotek_supers", "pass")OR DIE (mysql_error()); mysql_select_db("gbog", $db)OR DIE (mysql_error()); if ($skriv){ $besked = str_replace("\n", "<BR>", $besked); $dato_array = getdate(); $dato = $dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"]; mysql_query("INSERT INTO bog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')"); } ?> <center> <FORM METHOD=POST ACTION=<? echo $PHP_SELF; ?>> <INPUT TYPE=hidden NAME=skriv VALUE=1> navn: <INPUT TYPE=text NAME=navn><BR> email: <INPUT TYPE=text NAME=email><BR> <TEXTAREA NAME=besked COLS=30 ROWS=5></TEXTAREA><BR> <INPUT TYPE=submit VALUE="send"> </FORM> <BR><BR> <TABLE> <? $foresp = mysql_query("SELECT * FROM bog ORDER BY nr DESC") or die(mysql_error()); while($data = mysql_fetch_row($foresp)){ echo "<TR><TD VALIGN=TOP>"; echo "fra: <A HREF=\"mailto:$data[1]\">$data[0]</A>"; echo "<BR>$data[2]"; echo "</TD><TD VALIGN=TOP>$data[3]</TD></TR>"; } ?> </TABLE> </CENTER> </BODY> </HTML> Og den siger "acces denied" efter jeg tilføjede "or die (mysql_error())" diverse steder... ???
25. april 2004 - 15:28
#26
nej, det var også der hen af jeg ville, man skulle dælme være heldig hvis man fik et så nemt navn, som regel et eller andet lidt kryptisk, du kan se navnet i phpmyadmin hvor du også opretter tables etc.
25. april 2004 - 15:30
#27
jeg har også hos b-one og min database hedder det samme som mit brugernavn: "modern_solution"
25. april 2004 - 15:31
#28
nope, den hedder diskotek_supers og din tables hedder gbog
25. april 2004 - 15:33
#29
mysql_connect("localhost","diskotek_supers","PASSWORD")or die (mysql_error()); mysql_select_db("diskotek_supers")or die (mysql_error()); brug den
25. april 2004 - 15:41
#30
Jeg prøvede lidt forskelligt... Nu siger den "Table 'diskotek_supers.bog' doesn't exist" !?! Jeg skulle vist aldrig have gået i gang med det :-)
25. april 2004 - 15:43
#31
Så prøvede jeg lige at ændre $foresp = mysql_query("SELECT * FROM bog ORDER BY nr DESC") or die(mysql_error()); til $foresp = mysql_query("SELECT * FROM gbog ORDER BY nr DESC") or die(mysql_error()); Nu kommer der ingen fejl, men beskeden kommer heller ikke frem??
25. april 2004 - 15:44
#32
den hedder vist også gbog og ikke bog.... til venstre i phpmyadmin står der alle navnene på dine tables i din database... det er også navnet på dem
25. april 2004 - 15:44
#33
og der er noget i databasen??
25. april 2004 - 15:48
#34
print mysql_num_rows(mysql_query("SELECT * FROM bog ORDER BY nr DESC")); prøv den, den udskriver hvor mange rows der er i din table
25. april 2004 - 15:53
#35
Hvor skal jeg indsætte det??
25. april 2004 - 15:57
#36
et sted efter du har connected til databasen.... Er du sikker på der er noget i databasen?
25. april 2004 - 16:00
#37
25. april 2004 - 16:03
#38
print mysql_num_rows(mysql_query("SELECT * FROM bog ORDER BY nr DESC"));` til print mysql_num_rows(mysql_query("SELECT * FROM gbog ORDER BY nr DESC"));
25. april 2004 - 16:07
#39
Så nu hjalp det lidt... Jeg ændrede: mysql_query("INSERT INTO bog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')"); til mysql_query("INSERT INTO gbog (navn, email, dato, besked) VALUES ('$navn', '$email', '$dato', '$besked')"); der hed den stadig "bog", det var nok derfor jeg ikke kunne se det jeg indtastede...
25. april 2004 - 16:08
#40
Sikke meget der sker men man tar sig et lille bad... når fungere det nu?
25. april 2004 - 16:09
#41
ja, man skal have tungen lige i munden :-P // oUT
25. april 2004 - 16:19
#42
når jeg skulle ikke havde nogle point? :/ *suk* verdenen er et utaknemmeligt sted.
25. april 2004 - 16:28
#43
biihz >> Stop med at lave reklame for dine egne spørgsmål. Det er ikke tilladt. eagleeye / CoAdmin
25. april 2004 - 16:36
#44
tror han snart har fået det at vide i samtlige af alle hans spm her de sidste par dage
25. april 2004 - 18:10
#45
Nu er det ikke fordi jeg vil bitche helt vildt meget over 15 point, men hvorfor var det lige mit ikke blev accepteret? Det var sådan set både mig og buzzzz som hjalp dig igennem :)
25. april 2004 - 18:22
#46
ja, jeg er heller ikke helt med, og synes generalt at der skulle have været flere point ude, altså 30 til hver... Men der kommer nok snart lidt i ham igen, få vi kan få at vide om der var en bestemt grund til at jeg fik alle sammen, jeg kan ikke se nogen.
25. april 2004 - 18:36
#47
Hehe går nok :) Så kan han give mig lidt god karma istedet for... ikke fordi jeg står og mangler point eller noget, men jeg føler nærmest ham afviser alt hvad jeg har hjulpet ham med... altså som om jeg ikke havde ret! :D
Vi tilbyder markedets bedste kurser inden for webudvikling