Avatar billede carlsson Nybegynder
12. juli 2002 - 00:34 Der er 2 kommentarer og
2 løsninger

php - mysql fejl

Hvad gør jeg forkert?

Jeg får denne fejl meddelelse:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\web\apache\apache\htdocs\nyside\site1.php on line 18


<?php
$db = mysql_connect("localhost", "administrator", "")
or die("kunne ikke forbinde til bd server");
mysql_select_db("side1", $db);

?>


<html>
<head>
<title>site1</title>
</head>
<body>
<table border="1">
<?
$sql = "SELECT title FROM site1";
$site1 = mysql_query($sql);
while ($row = mysql_fetch_array ($site1)) {
echo "


<tr>
    <td>$row[title]</td> 
    <td>Celle 3</td>
    <td>Celle 4</td>
  </tr>
  <tr>
    <td colspan=\"3\">Celle 1</td>
  </tr>";
  }


  ?>
</table>

</body>
</html>
Avatar billede whatever Nybegynder
12. juli 2002 - 00:46 #1
Prøv dette:

<?php
$db = mysql_connect("localhost", "administrator", "")
or die("kunne ikke forbinde til bd server");
mysql_select_db("side1", $db);

?>


<html>
<head>
<title>site1</title>
</head>
<body>
<table border="1">
<?
$sql = "SELECT title FROM site1";
$site1 = mysql_query($sql);

if (mysql_num_rows($site1) == 0) {
    echo "databasen er tom";
} else {
while ($row = mysql_fetch_array ($site1)) {
echo "


<tr>
    <td>$row[title]</td> 
    <td>Celle 3</td>
    <td>Celle 4</td>
  </tr>
  <tr>
    <td colspan=\"3\">Celle 1</td>
  </tr>";
  }

}

  ?>
</table>

</body>
</html>
Avatar billede whatever Nybegynder
12. juli 2002 - 00:48 #2
Jeg har ændret scriptet sådan ,at der tjekkes om sql-sætning returnerer noget data. Hvis den returnerer 0 udskrives "databasen er tom". Ellers fortsættes med at udskrive dataen.

Den fejl du får, skyldes nok at der ikke hentes noget data ud.
Avatar billede ztyxx Nybegynder
12. juli 2002 - 00:55 #3
er du sikker på at databasen hedder site1, og at det ikke er tabellen??
Avatar billede myplacedk Nybegynder
13. juli 2002 - 20:21 #4
Glemt alt om hvad "whatever" skrev. De han snakker om vil ikke give de symptomer.

ztyxx er der imod inde på noget rigtigt.

$db = mysql_connect("localhost", "administrator", "")
or die("kunne ikke forbinde til bd server");

Her får du *ikke* fejlbeskeden. Altså er hostname, username og password OK. Der bliver forbundet til databasen.

mysql_select_db("side1", $db);

Her bliver der ikke tjekket for fejl. Det ville ellers være en god ide. Det prøver vi lige, bare på samme måde som du gjorde før:

mysql_select_db("side1", $db)
    or die("kunne ikke vælge database");

Det næste der denne:

$site1 = mysql_query($sql);

Der tjekker du heller ikke for fejl.

$site1 = mysql_query($sql) or die(mysql_error());
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