Показать сообщение отдельно
  #5 (permalink)  
Старый 07.02.2012, 00:38
Аспирант
Отправить личное сообщение для IONEX Посмотреть профиль Найти все сообщения от IONEX
 
Регистрация: 08.01.2012
Сообщений: 32

Спасибо что откликнулись. Ну про автора это не реклама, просто в качесвте доп. информации. Да, дело было в скобках.

Возникла еще одна проблема. Браузер выдает ошибку.

Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\rnd3.local\www\config\db.php on line 38
Заявка не выполнена:

Тут понятно, второй параметр выдается пустым.

Сделал следующую проверку (Условия Null 1 и Null 2):

<?php
    require_once "config.php"; //Подключение класса config
    
    class Db extends Config { //Наследование класса config
        private $connection;
    
        function __constructor(){
            $this ->open_connection();
        }
        
        private function open_connection(){
            $this -> DB_HOST;
            $this -> connection=mysql_connect($this -> DB_HOST, $this -> DB_USER, $this ->DB_PASS);
            
           if (is_null($this ->connection)){
                echo "NULL_1";
            }
            
            
            if (!$this -> connection){
                die("Соединение с базой данных не выполненно: ".mysql_error());
            }
            else {
                $db_select=mysql_select_db($this -> DB_NAME);
                if (!$db_select) {
                    die ("База  данных не найдена: ".mysql_error());
                }
            }
            mysql_query("set names utf8") or die("utf8 не поддерживатеся");
        }
        
        function sql($query) {
            
            if (is_null($this ->connection)){
                echo "NULL_2";
            }
            
            $resault = mysql_query($query, $this -> connection);
            if (!$resault) {
                die("Заявка не выполнена: ".mysql_error());
            }
            return $resault;
        }
    }
    
    $db = new Db();
?>


Браузер выдал:

NULL_2
Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\rnd3.local\www\config\db.php on line 38
Заявка не выполнена:

Т.е. в приватной функции open_connection переменная $this -> connection еще не равна null (проверка null 1 не выполняется). Но в дальнейшем отрабатывании функции sql, переменная $this -> connection становиться равной null (выполняется проверка null 2). Пробывал изменять настройки приватности (делал все public), результат тот же. В чем проблема если $this -> connection в дальнейшем нигде не переприсваивается?

Фугкция sql вызыватся из модуля models, код которого приведен в начале темы с входным параметром запроса считывания БД.
Ответить с цитированием