Avatar billede hanafi Nybegynder
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??
Avatar billede jammerlab Nybegynder
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...
Avatar billede biihz Nybegynder
25. april 2004 - 14:46 #2
Avatar billede biihz Nybegynder
25. april 2004 - 14:46 #3
Hanafi.. Du har ikke oprettet nogle database..

Det vil måske være en ide :)
Avatar billede biihz Nybegynder
25. april 2004 - 14:46 #4
/ SVAR
Avatar billede krydset Nybegynder
25. april 2004 - 14:46 #5
biihz det du laver mås man ikke
Avatar billede jammerlab Nybegynder
25. april 2004 - 14:47 #6
nu har han gjordt det flere steder...
Avatar billede krydset Nybegynder
25. april 2004 - 14:52 #7
Der er indgivet en anmeldse på ham
Avatar billede Syska Mester
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
Avatar billede hanafi Nybegynder
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
Avatar billede jammerlab Nybegynder
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 :)
Avatar billede hanafi Nybegynder
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>
Avatar billede jammerlab Nybegynder
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)){
Avatar billede hanafi Nybegynder
25. april 2004 - 15:04 #13
Jeg har ikke taget <html> og det der med... Men det giver det samme resultat :-(
Avatar billede jammerlab Nybegynder
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)){
Avatar billede hanafi Nybegynder
25. april 2004 - 15:08 #15
Så siger den "no database selected"... Er det min opsætning af databasen den er gal med??
Avatar billede Syska Mester
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
Avatar billede Syska Mester
25. april 2004 - 15:09 #17
mysql_select_db("databasenavn");
Avatar billede jammerlab Nybegynder
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());
Avatar billede Syska Mester
25. april 2004 - 15:11 #19
eller er din pass/user forkert

mysql_connect("host","user","pass") OR DIE(mysql_error());
Avatar billede Syska Mester
25. april 2004 - 15:12 #20
hoster du selv eller?
Avatar billede hanafi Nybegynder
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...
Avatar billede jammerlab Nybegynder
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 :)
Avatar billede Syska Mester
25. april 2004 - 15:19 #23
sikker på din database hedder "gbog"???
Avatar billede jammerlab Nybegynder
25. april 2004 - 15:24 #24
gør den ikke hos b-one :)
Avatar billede hanafi Nybegynder
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... ???
Avatar billede Syska Mester
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.
Avatar billede jammerlab Nybegynder
25. april 2004 - 15:30 #27
jeg har også hos b-one og min database hedder det samme som mit brugernavn: "modern_solution"
Avatar billede Syska Mester
25. april 2004 - 15:31 #28
nope, den hedder diskotek_supers og din tables hedder gbog
Avatar billede jammerlab Nybegynder
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
Avatar billede hanafi Nybegynder
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 :-)
Avatar billede hanafi Nybegynder
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??
Avatar billede Syska Mester
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
Avatar billede Syska Mester
25. april 2004 - 15:44 #33
og der er noget i databasen??
Avatar billede Syska Mester
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
Avatar billede hanafi Nybegynder
25. april 2004 - 15:53 #35
Hvor skal jeg indsætte det??
Avatar billede Syska Mester
25. april 2004 - 15:57 #36
et sted efter du har connected til databasen....

Er du sikker på der er noget i databasen?
Avatar billede hanafi Nybegynder
25. april 2004 - 16:00 #37
www.diskotek-supersound.dk/gbog2.php

Så kommer den med en fejl.
Avatar billede Syska Mester
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"));
Avatar billede hanafi Nybegynder
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...
Avatar billede jammerlab Nybegynder
25. april 2004 - 16:08 #40
Sikke meget der sker men man tar sig et lille bad... når fungere det nu?
Avatar billede Syska Mester
25. april 2004 - 16:09 #41
ja, man skal have tungen lige i munden :-P

// oUT
Avatar billede jammerlab Nybegynder
25. april 2004 - 16:19 #42
når jeg skulle ikke havde nogle point? :/ *suk* verdenen er et utaknemmeligt sted.
Avatar billede eagleeye Praktikant
25. april 2004 - 16:28 #43
biihz >> Stop med at lave reklame for dine egne spørgsmål. Det er ikke tilladt.

eagleeye / CoAdmin
Avatar billede Syska Mester
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
Avatar billede jammerlab Nybegynder
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 :)
Avatar billede Syska Mester
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.
Avatar billede jammerlab Nybegynder
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
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester