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 tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
11. marts 2011 - 14:55
#1
jeg sidder naturligvis og leger med noget SQL
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...
11. marts 2011 - 16:06
#5
djthomas - arh... det ser rigtigt ud... Det vil jeg lige teste! Takker.
14. marts 2011 - 08:54
#6
Smider du lige et svar?
14. marts 2011 - 08:55
#7
Det virker perfekt :) Så takker :)
14. marts 2011 - 10:30
#8
Super
Vi tilbyder markedets bedste kurser inden for webudvikling