---
title: "DB Mysqli class vad är fel?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/192758-db-mysqli-class-vad-är-fel"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Jester73"
published: "2015-08-13T21:18:28.000Z"
updated: "2015-08-14T10:29:43.000Z"
replies: 2
views: 834
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/192758-db-mysqli-class-vad-är-fel"
---

# DB Mysqli class vad är fel?

## #1 — Jester73, 2015-08-13T21:18Z

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. :(

```php
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&aring;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;
        }
    }
    
}
```

Permalänk: https://www.webforum.nu/p/192758

## #2 — metalboy, 2015-08-14T06:10Z

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:

```php
elseif($number_rows==1) {
    return $res->fetch_assoc();
}
```

Permalänk: https://www.webforum.nu/p/2318725

## #3 — Jester73, 2015-08-14T10:29Z

Tack för info, hade missat att sätta display_error till ON i php.ini
Nu har jag lite mer att gå på :)

Permalänk: https://www.webforum.nu/p/2318727

---

Tråden på webben: https://www.webforum.nu/amne/php/192758-db-mysqli-class-vad-är-fel
