Контроль не входит в файл класса PHP

0

Я вызываю класс, который, похоже, не выполняет никаких его методов. Рассмотрим следующий файл (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. Поэтому я даже начал чистый пустой файл, сначала проверил, что этот элемент управления входит в него или нет (он это сделал), а затем написал все это, сохранил его под другим именем и включил его, и снова эта загадочная ошибка выскочила.

Где я ошибся?

  • 0
    в чем ошибка?
  • 1
    Вам не нужно делать это сообщество вики.
Показать ещё 3 комментария
Теги:
class

3 ответа

3
Лучший ответ

У вас есть два метода __construct(). Вы не можете перегружать подобные методы в PHP.

Вероятно, вы отключили display_error, поэтому вы не видите сообщение об ошибке:

Неустранимая ошибка: невозможно обновить DBCom:: __ construct() в C:\test.php в строке 23

  • 0
    лол спасибо! удаление лишнего конструктора сработало! поэтому я также использую параметры по умолчанию для достижения псевдоперегрузки?
  • 0
    Вы можете сделать это, или вы можете взять ассоциативный массив в качестве параметра, а затем решить, что делать, основываясь на том, какие ключи он содержит.
Показать ещё 1 комментарий
1

Выполняете ли вы <?php ?>

  • 0
    да, я исключил, что это вызвало проблемы с отображением на этой странице вопроса
0

Проверка работоспособности: У вас есть другой файл на пути, который пуст или устарел?

  • 0
    не совсем уверен, человек!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню