Avatar billede gedekid Nybegynder
11. marts 2011 - 14:48 Der er 7 kommentarer og
1 løsning

mysql_fetch_array resource fejl

Hej eksperter,

Jeg sidder og lejer med noget SQL handling script og har bygget det her sammen:

function SQLgetResult($query) {
       
        $this->q = mysql_query($query);
           
        if(!$this->q) {
            die(mysql_error());
            return false;
        } else {
            return $this->q;
        }
    }

    function SQLprintResult() {
       
        while($row = mysql_fetch_array($this->q)) {

            $rowArray = array();
            foreach($row as $key => $value) {
                $rowArray[$key] = $value;
            }
            $this->row = $rowArray;
        }
   
        return $this->row;
    }   

jeg bruger så i en anden fil denne:

class UserHandling extends SQLHandling {
       
    function MyUserInfo() {
        SQLHandling::SQLprintResult();

        echo "<div>My mail: ". $this->row["email"] ."</div>";
        echo "<div>My password: ". $this->row["password"] ."</div>";
    }
}

Når jeg kører det hele ud med

$connect = new SQLHandling();
$connect->SQLconnect();
$connect->SQLgetResult("SELECT * FROM tt_users");

$user = new UserHandling();
$user->MyUserInfo();

Så får jeg
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given

Men jeg kan ikke lige se hvor den driller mig henne.

Er der en der kan hjælpe mig med det ?
Avatar billede gedekid Nybegynder
11. marts 2011 - 14:55 #1
jeg sidder naturligvis og leger med noget SQL
Avatar billede jakobdo Ekspert
11. marts 2011 - 15:20 #2
Kan det ske du mangler at connecte din sql i: UserHandling() ?
Nu har du ikke vist noget connect kode, men måske det kunne være...
Avatar billede djthomas Nybegynder
11. marts 2011 - 15:43 #3
Det kan også ske, hvis din query fejler - prøve med en en or die(mysql_error()) efter mysql_query... Hvis sql retunere en fejl, så vil mysql_fetch_array, fejle fordi at dit result bliver null...
Avatar billede djthomas Nybegynder
11. marts 2011 - 15:49 #4
Fejler jo netop at du ikke har nogen SQL sætning i dit user object - det snakker jo ikke sammen med den instans du har lavet som hedder connect...

Du kan Feks gøre det sådan jer:


$user = new UserHandling();
$user->SQLgetResult("SELECT * FROM tt_users");
$user->MyUserInfo();

Denne stump:

$connect = new SQLHandling();
$connect->SQLconnect();
$connect->SQLgetResult("SELECT * FROM tt_users"); gør indtet ifht til det kode du har postet...
Avatar billede gedekid Nybegynder
11. marts 2011 - 16:06 #5
djthomas - arh... det ser rigtigt ud... Det vil jeg lige teste! Takker.
Avatar billede gedekid Nybegynder
14. marts 2011 - 08:54 #6
Smider du lige et svar?
Avatar billede gedekid Nybegynder
14. marts 2011 - 08:55 #7
Det virker perfekt :) Så takker :)
Avatar billede djthomas Nybegynder
14. marts 2011 - 10:30 #8
Super
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