2011-06-06 3 views
1

ce qui suit est la classe que j'ai essayé de développer de façon oo php mais comme un begginer en php oo je reçois et message d'erreur que je ne sais pas comment résoudre. s'il vous plaît signaler la faute merci.problème appelant une fonction dans php mysqli

class MySQLi_DB extends mysqli { 
    private static $_instance = null; 


    private function __construct($db="test",$host="localhost", $user="root", $pass="") 
    { 

     parent::__construct($host, $user, $pass, $db); 
     if (mysqli_connect_error()) { 
      die('Connect Error (' . mysqli_connect_errno() . ') ' 
        . mysqli_connect_error()); 
     } 
    } 

    static public function getDB() 
    { 
     if(self::$_instance == null) 
     { 
      self::$_instance = new MySQLi_DB(); 
     } 
     return self::$_instance; 

    } 

    public function select($sql) 
    { 
     $res = $this->query($sql); 
     return $res->fetch_all(); 


    } 
} 

i instancier l'objet comme ci-dessous

require_once 'MySQLi_DB.php'; 
     $db = MySQLi_DB::getDB(); 
     $data = $db->select("select * from cms"); 

et l'erreur est inférieure à

Fatal error: Call to undefined method mysqli_result::fetch_all() in D:\wamp\www\Driver\MySQLi_DB.php on line 39

+0

La fonction MySQLi_Result fetch_all() et $ this-> query() renvoie MySQLi_Result http://www.php.net/manual/fr/mysqli-result.fetch-all.php –

Répondre

1

Selon this page mysqli_result :: fetch_all() est disponible uniquement lorsque le pilote natif MySQL est installée. Veuillez vous assurer qu'il est installé et activé pour votre configuration.

+0

oh merci je pense que cela pourrait être le raison donc comment puis-je confirmer que je veux dire par quelle variable cfg je vérifie si mysqlnd est installé? –

+0

Je n'ai pas pu déterminer le nom de la variable cfg, mais si vous recherchez la sortie de phpinfo() pour 'mysqlnd' vous devriez pouvoir vérifier si elle est installée. La documentation (http://dev.mysql.com/downloads/connector/php-mysqlnd/) facilitera l'installation et la configuration. –