Avatar billede djsteiner Nybegynder
24. november 2009 - 16:08 Der er 9 kommentarer og
1 løsning

mysqli_fetch_array fejlmeddelse

Hej jeg for en fejlmeddelse så i håber i kunne hjælpe med:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\websites\karsten_dall\index.php on line 28


Jeg har lige sat et (28#) hvor liner 28 begynder

På forhånd tak for hjælpen

Her har i koden:


<ul>
    <?php
  $menu = mysqli_query($conn, "SELECT * FROM g_menu ORDER BY g_id ASC");


(28#)
while ($result = mysqli_fetch_array($menu)){
        if($page == $result)
          echo "<li><a a style='background:#ff0000;' href='index.php?page=".$result['g_kat']."'>  ".$result['g_kat']."> </a></li>";
        else
          echo "<li><a ' href='index.php?page=".$result['g_kat']."'>  ".$result['g_kat']."> </a></li>";
    }
    ?>
    </ul>
Avatar billede repox Seniormester
24. november 2009 - 17:21 #1
udskift:

$menu = mysqli_query($conn, "SELECT * FROM g_menu ORDER BY g_id ASC");


med


$menu = mysqli_query("SELECT * FROM g_menu ORDER BY g_id ASC", $conn);
Avatar billede djsteiner Nybegynder
24. november 2009 - 22:23 #2
så kommer denne fejl

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in D:\websites\karsten_dall\index.php on line 24 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in D:\websites\karsten_dall\index.php on line 27
Avatar billede repox Seniormester
24. november 2009 - 22:28 #3
Hvad er/indeholder $conn?
Avatar billede djsteiner Nybegynder
24. november 2009 - 23:39 #4
mener du hvad database tablen indholder ??
Avatar billede djsteiner Nybegynder
24. november 2009 - 23:40 #5
<?php
$conn = mysqli_connect("localhost","root","1234","webberiet_php");


?>
Avatar billede repox Seniormester
24. november 2009 - 23:45 #6
Der er noget galt med din $conn variabel.
Fejlmeddelelsen fortæller at $conn er en streng. Det skal være et mysqli link, som laves ud fra det du skriver i #5.
Avatar billede djsteiner Nybegynder
24. november 2009 - 23:56 #7
har løst det nu det var den forkete database den connct til min hvorfor skriver den ikke at den dabase eller table ikke er det??
Avatar billede djsteiner Nybegynder
25. november 2009 - 01:00 #8
Men du skal da have point!
Avatar billede repox Seniormester
25. november 2009 - 09:39 #9
Det ville den også fortælle dig, hvis du spurgte efter det.
Eksterne resourcer (såsom databaser) vil altid være noget du bliver nød til at validere på - om end ikke for din egen skyld, så for dine brugeres.

Et eksempel kunne være noget ala:


    $conn = mysqli_connect("localhost","root","1234","webberiet_php");
    if(!$conn)
    {
        $error = mysqli_connect_error();
       
        /*
            Istedet for at maile dig fejlen (lidt træls hvis du har mange brugere)
            ville det være en god idé at logge fejlen i en fil, så du kan se fejl
            i den.
           
            Personligt har jeg et RSS feed der fortæller mig om fejl på sitet
            når der opstår nogle.
        */
           
        mail("tildig@ditdomæne.dk", "Fejl på websitet", "Der kunne ikke forbindes til MySQL.\nFejlmelding: ".$error);
       
        /*
            viderestil brugeren til en simpel side der fortæller at du kigger
            på problemet - der er ingen grund til at prøve at vise andet hvis
            du alligevel ikke kan få forbindelse til MySQL
        */
       
        header("Location: vedligeholdelse.php");
        exit;
       
    }

Avatar billede djsteiner Nybegynder
25. november 2009 - 11:21 #10
Mange tak for hjælpen det er meget brugbart!
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