Avatar billede sbmoller Nybegynder
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">&nbsp;&nbsp;<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.
Avatar billede arne_v Ekspert
25. november 2007 - 02:48 #1
få nogle:

or die(mysql_error())

sat ind så du kan se fejlen !
Avatar billede sbmoller Nybegynder
25. november 2007 - 02:59 #2
hvor skal jeg sætte den ind helt præcist ?
Avatar billede arne_v Ekspert
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());
...
Avatar billede sbmoller Nybegynder
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
Avatar billede arne_v Ekspert
25. november 2007 - 04:10 #5
Det ser ud som du bruger '' fremfor de korrekte `` er det rigtigt ?
Avatar billede sbmoller Nybegynder
25. november 2007 - 04:19 #6
tjah:) må man ingen steder bruge "?
Avatar billede arne_v Ekspert
25. november 2007 - 05:25 #7
jo til tekst værdier:
  where felt = 'ABC'
Avatar billede nielle Nybegynder
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");
Avatar billede sbmoller Nybegynder
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?
Avatar billede nielle Nybegynder
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());
Avatar billede htx98i17 Professor
29. november 2007 - 07:39 #11
du skal skrive tabelnavn i stedet for databasenavn petrongolf
Avatar billede htx98i17 Professor
29. november 2007 - 07:41 #12
altså
$foresp = mysql_query("SELECT * FROM gbog ORDER BY id DESC");
Avatar billede sbmoller Nybegynder
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 ?
Avatar billede nielle Nybegynder
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?
Avatar billede sbmoller Nybegynder
05. december 2007 - 08:08 #15
jeg fandt aldrig ud af det .. smid et svar.
Avatar billede nielle Nybegynder
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.
Avatar billede nielle Nybegynder
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. :^)
Avatar billede nielle Nybegynder
28. december 2007 - 21:24 #18
??
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
Computerworld tilbyder specialiserede kurser i database-management

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