Я вызываю класс, который, похоже, не выполняет никаких его методов. Рассмотрим следующий файл (db-com.php):
echo "entered db-com.php";
class DBCom {
/**
* @var string Holds the query string.
* If the blank constructor is used, make sure to use the parametrized functions.
*/
var $queryString;
/**
* @var resource Holds the MySQL Resource returned by mysql_query function
*/
var $queryResult;
/**
* @var array Holds the entire array of the result.
*/
var $queryArray;
function __construct() {
$this->queryString = $this->queryResult = $this->queryArray = '';
}
function __construct($qS) {
$this->queryString = $qS;
$this->queryResult = mysql_query($this->queryString);
$this->queryArray = '';
}
/**
*
* @return array An array containing all the elements of the requested query.
*/
function get_query_array() {
if($this->queryString == '' || $this->queryString == "") {
die("Query String is Empty. Cannot Proceed.");
}
for ( $i = 0 ; $fetchedArray = mysql_fetch_array( $this->queryResult ) ; $i++) {
$this->queryArray[$i] = $fetchedArray;
}
return $this->queryArray;
}
}
Когда в другом файле пишу:
require ( 'some_path/db-com.php' );
он даже не входит в этот файл. то есть даже первый оператор echo
не отображается.
Это не происходит с любыми другими файлами классов. Только этот тип класса, включающий функции SQL. Поэтому я даже начал чистый пустой файл, сначала проверил, что этот элемент управления входит в него или нет (он это сделал), а затем написал все это, сохранил его под другим именем и включил его, и снова эта загадочная ошибка выскочила.
Где я ошибся?
У вас есть два метода __construct()
. Вы не можете перегружать подобные методы в PHP.
Вероятно, вы отключили display_error
, поэтому вы не видите сообщение об ошибке:
Неустранимая ошибка: невозможно обновить DBCom:: __ construct() в C:\test.php в строке 23
Выполняете ли вы <?php ?>
Проверка работоспособности: У вас есть другой файл на пути, который пуст или устарел?