PHP类没有反应

时间:2015-04-09 15:42:12

标签: php mysql class database-connection

我有一个用于连接数据库的PHP类。当我打电话时,我的页面上没有显示任何内容。没有PHP / MySQL错误......

我坚持了一段时间,我累了......

任何人都可以帮助我吗?

这是我的班级:

    class MySQL {

        // Adresse MySQl
        private $sHost = 'localhost';
        private $sPort = '8889';

        // Nom et connexion de la db
        private $sDB = 'db_Stefano';
        private $cConnexion;

        // Identifiants de connexion
        private $sUsername = 'Stefano';
        private $sPassword = 'Soleil1234';

        /* ------------------------------------------------------------------ */

        // Connexion à la base de données
        private function __construct () {

            // Connexion à MySQL
            $this->cConnexion = mysql_connect($this->sHost.':'.$this->sPort, $this->sUsername, $this->sPassword);

            if(!$this->cConnexion) {
                die('Connexion à la base de données impossible.<br>Erreur : '.mysql_error());
            }

            // Séléction de la base de données
            mysql_select_db($this->sDB, $this->cConnexion);

        }

        /* ------------------------------------------------------------------ */

        // Déconnexion à la base de données
        public function close () {
            mysql_close($this->cConnexion);

        }

        /* ------------------------------------------------------------------ */

        // Exécution des requêtes
        public function query ($sRequete) {
            $this->cConnexion = mysql_query($sRequete, $this->cConnexion) or die('Impossible d\'exécuter la requête.<br>Erreur : '.mysql_error());

            return $this->cConnexion;

        }

        /* ------------------------------------------------------------------ */

        // Met en forme les valeurs reçues
        public function fetch ($cConnexion = null) {
            $aValue = array();

            while($sValue = mysql_fetch_assoc(($cConnexion != null ? $cConnexion : $this->cConnexion))) {
                $aValue[] = $sValue;
            }

            return $aValue;

        }

        /* ------------------------------------------------------------------ */

        // Compte le nombre de valeurs
        public function count ($cConnexion = null) {
            return mysql_num_rows(($cConnexion != null ? $cConnexion : $this->cConnexion)) or die('Impossible de compter le nombre de lignes.<br>Erreur : '.mysql_error());

        }
    }

班级及其职能的吸引力:

// Objet de connexion à la base de données
$oMySQL = new MySQL;

$sReqUsers = 'SELECT * FROM t_users';

$aUsers = $oMySQL->query($sReqUsers);
$aUsers = $oMySQL->fetch($aUsers);

print_r($aUsers);

我说法语,所以请随意纠正我的学校英语^^'

3 个答案:

答案 0 :(得分:3)

您的__construct方法是私有的,因此您无法使用&#34; new ...&#34;来实现您的课程。把你的结构公开。

答案 1 :(得分:1)

如果您没有错误,请尝试先使用error_reporting(E_ALL)查看错误。

__construct函数的

必须是公共的。

答案 2 :(得分:0)

我认为您在实例化类

后忘记了()
$oMySQL = new MySQL();