Наконец-то! Я получил, где ошибка была ^^
после перезапуска функции с нуля (как при использовании , если ($ login == "a") возвращает true; ) Я обнаружил, что проблема была в деструкторе моего класса GestionBD, который обрабатывает соединение с mysql. Потому что весь код в функции работал, кроме как в самом конце оператора return.
Что убедило меня, что это был деструктор, так это то, что я положил $ cnx = null; перед моим echo 2; и выполнение остановилось до эха. Затем я прокомментировал деструктор, и все заработало как нужно. но мне было интересно, что не так в моем деструкторе ...
Вот как это выглядело:
function __destruct()
{
@mysql_close($this->$connexion);
}
Теперь, если кто-то знаком с ООП в PHP, он сразу же обнаружит ошибку ... переменная connexion является переменной-членом в классе. Поэтому, когда мы ссылаемся на него с указателем $ this, нам нужно было поместить его без $ (ааа, я тебя ненавижу $, я либо забываю тебя, либо кладу, когда тебе не нужно: /)
правильный деструктор это:
function __destruct()
{
@mysql_close($this->connexion);
}
но эта функция mysql_close, конечно, не так хорошо сделана, она не выдает никаких сообщений об ошибках, не исключений, просто вылетает двигатель и задается вопросом, почему ..
Спасибо всем за ваши ответы и помощь, это очень ценится :), и совет для всех в том, что если вы получаете какое-то странное поведение или сообщения об ошибках при простом , верните true; проверьте все свои локальные объекты деструкторы .. они могут быть виновны, а также ИСПОЛЬЗОВАТЬ PDO не использовать @
с функциями mysql при отладке, поскольку это подавляет любую ошибку вывода;)