25. november 2007 - 02:37
Der er
17 kommentarer og 1 løsning
while($row = mysql_fetch_array($foresp))
Hej, jeg sidder og roder med lidt php/mysql og sidder fast i et problem nu. Jeg har lavet en gæstebog og den virker ganske fint på min egen localhost men når jeg eksportere til en server på nettet siger IE denne fejl: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/petrongolf.dk/petrongolf.dk/httpd.www/testing/skriv.php on line 36 Herunder ses hele min kode: <? $conn = mysql_connect ("localhost","bruger","kode"); mysql_select_db ("petrongolf_dk", $conn); ?> <html> <head> <link rel="stylesheet" type="text/css" href="style-gbog.css"> </head> <body> <table> <form method="post"> <tr><td class='bluetext' width="75">Indtast navn:</td><td class="noborder"><input class='input' type="text" name="navn"><br></td></tr> <tr><td class='bluetext'>Indtast emne: </td><td class="noborder"><input class='input' type="text" name="emne"><br></td></tr> <tr><td valign="top" class='bluetext'>Indtast post: </td><td class="noborder"><textarea class='input' name="post" rows="7" cols="24"></textarea><br></td></tr> <tr><td class="noborder"></td><td class="noborder"><input type="submit" class="submitLink" value="Post indlæg"> <input type="reset" class="submitLink" value="Slet felter"></td></tr> </form> </table> <br> <table> <?php if(isset($_POST['navn'])) { $dato = date('d/m/Y H:i:s'); $navn = $_POST['navn']; $emne = $_POST['emne']; $post = $_POST['post']; mysql_query ("INSERT INTO `gbog` (`id`, `navn`, `emne`, `post`, `dato`) VALUES ('', '$navn', '$emne', '$post', '$dato')")or die('Der er opstået en fejl'); mysql_query ("FLUSH PRIVILEGES") or die('Der er opstået en fejl'); } $foresp = mysql_query("SELECT * FROM 'petrongolf_dk' ORDER BY 'id' DESC"); while($row = mysql_fetch_array($foresp)) { echo "<br><tr> <td class='emne' width='400'>".$row['emne']."</td> <td class='dato' align='right' width='100'>".$row['dato']."</td> </tr> <tr> <td class='post' colspan='2'>".$row['post']."</td> </tr> <tr><td class='bluetext' colspan='2' align='right'>".$row['navn']."</td></tr> <tr><td class='noborder' colspan='2'></td</tr>"; }s ?> </table> </body> </html> Herunder min SQL sammensætning: -- Database: `petrongolf_dk` -- -- -------------------------------------------------------- -- -- Struktur-dump for tabellen `gbog` -- CREATE TABLE `gbog` ( `id` int(4) NOT NULL auto_increment, `navn` varchar(50) NOT NULL default '', `emne` varchar(50) NOT NULL default '', `post` text NOT NULL, `dato` varchar(100) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; pft.
Annonceindlæg fra Check Point
25. november 2007 - 02:48
#1
få nogle: or die(mysql_error()) sat ind så du kan se fejlen !
25. november 2007 - 02:59
#2
hvor skal jeg sætte den ind helt præcist ?
25. november 2007 - 03:13
#3
Over det hele ! <? $conn = mysql_connect ("localhost","bruger","kode") or die(mysql_error()); mysql_select_db ("petrongolf_dk", $conn) or die(mysql_error()) ?> ... mysql_query ("INSERT INTO `gbog` (`id`, `navn`, `emne`, `post`, `dato`) VALUES ('', '$navn', '$emne', '$post', '$dato')") or die(mysql_error()); mysql_query ("FLUSH PRIVILEGES") or die(mysql_error()); } $foresp = mysql_query("SELECT * FROM 'petrongolf_dk' ORDER BY 'id' DESC")or die(mysql_error()); ...
25. november 2007 - 03:21
#4
ok det er gjort, nu kommer denne fejlbeskrivelse: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''gbog' ORDER BY 'id' DESC' at line 1
25. november 2007 - 04:10
#5
Det ser ud som du bruger '' fremfor de korrekte `` er det rigtigt ?
25. november 2007 - 04:19
#6
tjah:) må man ingen steder bruge "?
25. november 2007 - 05:25
#7
jo til tekst værdier: where felt = 'ABC'
25. november 2007 - 12:01
#8
Der skal 't-trundt om tekst. Der skal `-tegn rundt om feltnavne. Dvs. at din fejlende SQL slaæ rettes fra: $foresp = mysql_query("SELECT * FROM 'petrongolf_dk' ORDER BY 'id' DESC"); - til $foresp = mysql_query("SELECT * FROM `petrongolf_dk` ORDER BY `id` DESC"); Imidlertid er der sædvanligvis ingen grund til rent faktiak at have `-tegnene så den kunne også se sådan ud: $foresp = mysql_query("SELECT * FROM petrongolf_dk ORDER BY id DESC");
28. november 2007 - 20:14
#9
jeg har nu indsat det du skrev: $foresp = mysql_query("SELECT * FROM petrongolf_dk ORDER BY id DESC"); og serveren kommer igen med denne fejl: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/petrongolf.dk/petrongolf.dk/httpd.www/testing/skriv.php on line 36 kan ikke forstå hvad dette skulle være?
29. november 2007 - 07:33
#10
Du har på en eller anden måde en fejl i din QL-sætning - lad os se hvad den er: $foresp = mysql_query("SELECT * FROM petrongolf_dk ORDER BY id DESC") or die(mysql_error());
29. november 2007 - 07:39
#11
du skal skrive tabelnavn i stedet for databasenavn petrongolf
29. november 2007 - 07:41
#12
altså $foresp = mysql_query("SELECT * FROM gbog ORDER BY id DESC");
01. december 2007 - 10:26
#13
Det virker sq stadig ikke, er der en der kunne finde på at kigge på koden og "poste" den som den burde være ?
01. december 2007 - 11:07
#14
Husk nu de de() så du kan se hvad der er galt: $foresp = mysql_query("SELECT * FROM gbog ORDER BY id DESC") or die(mysql_error()); Hvad siger den?
05. december 2007 - 08:08
#15
jeg fandt aldrig ud af det .. smid et svar.
10. december 2007 - 18:40
#16
Hvorfor opgive? Du bliver nødt til at give os noget at arbejde med hvis vil skal hjælpe dig med dit problem.
17. december 2007 - 18:23
#17
Du får et svar fra mig, men jeg synes da at vi skulle prøve på at få den i hus. :^)
28. december 2007 - 21:24
#18
??
Computerworld tilbyder specialiserede kurser i database-management