我有一个用于连接数据库的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);
我说法语,所以请随意纠正我的学校英语^^'
答案 0 :(得分:3)
您的__construct方法是私有的,因此您无法使用&#34; new ...&#34;来实现您的课程。把你的结构公开。
答案 1 :(得分:1)
如果您没有错误,请尝试先使用error_reporting(E_ALL)
查看错误。
__construct
函数的必须是公共的。
答案 2 :(得分:0)
我认为您在实例化类
后忘记了()
$oMySQL = new MySQL();