Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 26.06.2011, 13:32   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Адрес: город Москва
Сообщений: 392
Репутация: 47
Плохо Класс DB

Здравствуйте, возникли проблемы с классами в php
Код:
Код:
classes.php

class DB {
    private $HOST='localhost';
    private $USER='root';
    private $PASS='';
    private $Base='my';
    function connect() {
       
    mysql_connect($this->HOST,$this->USER,$this->PASS);
    mysql_select_db($this->Base);
    mysql_query("SET NAMES 'utf-8'");
    }
}
class Question extends DB{
      
    function __construct($num){
      $this->connect();
      ...
    }
}
Код:
new.php
include('classes.php');
 $sql = "SELECT * FROM table"; 
 $r=mysql_query($sql);
 if (mysql_num_rows($r)) {
 }
Однако пишет, что не выбрано ни одной строки
если же напрямую подключать файлик с mysql_connect без классов,просто 3 строки, выборка проходит, в чем я ошибся - заранее спасибо!
__________________
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума   Ответить с цитированием
Старый 26.06.2011, 14:29   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Адрес: D5.97.39.4C since 7D8.
Сообщений: 158
Репутация: 28
По умолчанию

С классами ()конекретно - вашими) надо делать как-то так:
classes.php

PHP код:
class DB {
    private 
$HOST 'localhost';
    private 
$USER 'root';
    private 
$PASS '';
    private 
$Base 'my';
    private 
$conn_id;
    
    function 
connect() {
        
        
$this->conn_id mysql_connect($this->HOST$this->USER$this->PASS);
        if (!
$this->conn_id) die("Can't connect to database");
        
mysql_select_db($this->Base);
        
mysql_query("SET NAMES 'utf-8'");
    }
}

class 
Question extends DB {

    function 
__construct($num) {
        
$this->connect();
    }

    function 
select($query) {
        
$ret mysql_query($query,$this->conn_id);
        if (!
$ret) {
            die(
'Error in connection');
        }
        
$ret_arr = array ();
        
$ra mysqli_fetch_array($ret);
        
        while (
$ra) {
            
array_push($ret_arr$ra);
            
$ra mysqli_fetch_array($ret);
        }
        return 
$ret_arr;
    }

new.php
PHP код:
include ('classes.php');
$conn = new Question();
$sql "SELECT * FROM table";
$ret $conn->select($sql);
if (
count($ret)) {


Я там понадоблял в классы немного своего, но не проверял. Но принцип будет именно таким, так что - разбирайтесь. (там стоило бы добавить корректый эррор хэндлинг, квери-функции и т.п., но это вы уж как-то сами...)

Последний раз редактировалось graymaster; 26.06.2011 в 14:31.
graymaster вне форума   Ответить с цитированием
Старый 27.06.2011, 00:07   #3
Gorychev
ПрофессионалФорумчанин
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Адрес: галактика Млечный путь, окраина рукава Ориона, Солнечная система, планета Земля, дальше я покажу:)
Сообщений: 1,596
Репутация: 1238
По умолчанию

файл при инклюдили а создать экземпляр класса забыли.

я раньше тоже класс для работы с БД написал и юзал, сейчас пешел на ADOdb - отличная весчь
__________________
Мой сайтик
Gorychev вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Класс Мелия Помощь студентам 0 23.06.2011 14:37
Класс VIK_aka_TOR Общие вопросы C/C++ 2 27.03.2011 17:06
Описать класс-родитель и класс-потомок. Delphi 7 Andrew_M Помощь студентам 0 15.01.2011 15:42
КЛАСС 4ika Общие вопросы C/C++ 1 16.03.2010 22:32
C++ . Класс Ануар56 Помощь студентам 8 23.04.2009 19:41


01:55.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.