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 ?
Annonceindlæg fra Computerworld it-jobbank
Mød 3.500+ it-talenter på IT-DAY 2026
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
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...
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...
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...