J Jester73 Medlem sedan mars 2012 121 inlägg Frågan 13 aug. 2015 21:18 #1 Hej
Hittar inte felet i denna class. Får reda på antal rader i funktionen dbselect och den hoppar till rätt if men får inget tillbaka efter det. :(
class database {
static $connect=FALSE;
function __construct() {
if(self::$connect===FALSE){
self::$connect=new mysqli(DBHOST,DBUSER,DBPASSW,DBASE)or die("Kan inte ansluta");
}
if(self::$connect->connect_error){
die("Får ej kontakt med databasen");
}
}
function dbselect($sql){ //Get multiple row of data
if(!$res=self::$connect->query($sql)){
die('There was an error running that query ' . self::$connect->error . '-' . self::$connect->errno);
return FALSE;
}
$number_rows=$res->num_rows;
if($number_rows==0){
return FALSE;
}
elseif($number_rows==1){
while ($single=$res->fetch_assoc) {
$result[]=$single;
}
return $result;
}
elseif($number_rows>1){
$result=array();
while ( $single=$res->fetch_assoc ) {
$result[]=$single;
}
return $result;
}
}
}
M metalboy Medlem sedan jan. 2005 953 inlägg Aktivera visning av felmeddelanden. fetch_assoc är en metod, inte en egenskap. Metoder anropas med metodnamn() . Du saknar () efter metodnamnet.
I de fall $number_rows är 1 så är det onödigt att köra en while-loop eftersom du vet att loopen bara kommer att köras en gång. Dessutom har du inte definierat $result innan du kör den loopen. Du kan korta ned din kod i den delen till följande:
elseif($number_rows==1) {
return $res->fetch_assoc();
}
J Jester73 Medlem sedan mars 2012 121 inlägg Tack för info, hade missat att sätta display_error till ON i php.ini
Nu har jag lite mer att gå på :)