Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемма с Обьектом в методе 
V
    Опции темы
DioNiR
Дата 17.11.2007, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 30.12.2006

Репутация: нет
Всего: нет



Проблема такова если передавать то что выдал запрос мускула функции mysql_query в обьект то по ошибочном запоросе работае продолжается. Если же передать в обыную переменную то выведет ошибку.

Сам метод:
Код

function sql_query($query,$id,$file = 'nofile') {
    if ($this->connect_id) {
        $this->query = $query;
        $this->query_id = mysql_query($query, $id) or die(mysql_errno().': '.mysql_error());
        $this->query_count++;
        if ( $this->query_id ) return $this->query_id;
    }
    return false;
}


В ходе тестирования я узнал что если в обьект $this->query_id с в этом методе функционирует то  or die не срабатывает при любом запросе мускула.
Если же написать так:

Код

function sql_query($query,$id,$file = 'nofile') {
    if ($this->connect_id) {
        $this->query = $query;
        $result = mysql_query($query, $id) or die(mysql_errno().': '.mysql_error());
        $this->query_count++;
        if ($result ) return $result;
    }
    return false;
}

То если запрос ошибочный то выведет ошибку как пологается.

Собственно почему так?

Собственно весь класс.
Код

    class database_class {
        var $connect_id;
        var $query_id;
        var $query_count = 0;
        var $query;

        function database($server, $user, $passw, $db_name) {
            if (!empty($db_name)) {
                $this->connect_id = mysql_connect($server, $user, $passw,true);
                if ($this->connect_id)
                {
                    if (mysql_select_db($db_name, $this->connect_id))
                    {
                        return $this->connect_id;
                    }
                }
            }
            return false;
        }
        
        //Завершение соединения с БД
        function sql_close() {
            if($this->connect_id) {
                if($this->query_id) mysql_free_result($this->query_id);
                if (@mysql_close($this->connect_id)) return true;
            }
            return false;
        }
        
        function sql_query($query,$id,$file = 'nofile') {
            if ($this->connect_id) {
                $this->query = $query;
                $this->query_id = mysql_query($query, $id) or die(mysql_errno().': '.mysql_error());
                $this->query_count++;
                if ($this->query_id) return $this->query_id;
            }
            return false;
        }
        
        //Выбор данных
        function sql_fetchrow($query_id = 0) {
            if ($query_id == 0) $query_id = $this->query_id;
            if ($query_id) {
                $row = mysql_fetch_array($query_id);
                if ($row) return $row;
            }
            return false;
        }

        //Число результатов
        function sql_numrows($query_id = 0) {
            if ($query_id == 0) $query_id = $this->query_id;
            if ($query_id) {
                $num_rows = mysql_num_rows($query_id);
                return intval($num_rows);
            }
            return false;
        }
    }


Это сообщение отредактировал(а) DioNiR - 17.11.2007, 04:36
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0555 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.