PHP class 没有反应
PHP class does not react
我有一个 PHP class 用于连接到我的数据库。当我调用它时,我的页面上没有显示任何内容。没有 PHP/MySQL 错误 ...
我坚持了一段时间,我累了......
谁能帮帮我?
这是我的 class :
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());
}
}
以及class的吸引力及其功能:
// 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);
我会说法语所以随时纠正我的学校英语^^'
我认为您在实例化 class
后忘记了 ()
$oMySQL = new MySQL();
您的 __construct 方法是私有的,因此您不能用 "new..." 实例化您的 class。把你的构造放在 public.
如果没有错误,请先尝试使用 error_reporting(E_ALL)
查看错误。
对于 __construct
函数必须是 public。
我有一个 PHP class 用于连接到我的数据库。当我调用它时,我的页面上没有显示任何内容。没有 PHP/MySQL 错误 ...
我坚持了一段时间,我累了......
谁能帮帮我?
这是我的 class :
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());
}
}
以及class的吸引力及其功能:
// 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);
我会说法语所以随时纠正我的学校英语^^'
我认为您在实例化 class
后忘记了()
$oMySQL = new MySQL();
您的 __construct 方法是私有的,因此您不能用 "new..." 实例化您的 class。把你的构造放在 public.
如果没有错误,请先尝试使用 error_reporting(E_ALL)
查看错误。
对于 __construct
函数必须是 public。