Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127

Вывод данных из mysql в классах

03.10.2017, 15:21. Показов 5178. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет - я только начинающий в ооп - и я создал класс
все нормально без ошибок вышло , ноя пытаюсь вывести данные из таблицы ничего не выводит
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
class a
{
 
 //function mysql() {}
  
  function select ()
 {
    $this->mysql(); //здесь функция подключения  
    
$sql = "SELECT * FROM `table1`";
    if(!$r = mysqli_query($sql)) {die("Ошибка ");}
    
  $array = mysqli_fetch_array($r);
        
        
    echo $array['id'];// для пробы пытаюсь вывести данные из таблицы но ничего не выводит
 
 
  }
    }
  $a = new a();
$a->select(); // для пробы пытаюсь вывести данные из таблицы но ничего не выводит
Добавлено через 57 минут
а все нашел вроде причину только не пойму что делать

здесь должна подставляться переменная коннекта (коотроая обьявлена в другой функции)
mysqli_query($connect,$sql);
Как ее передать из той фнкции( mysql()) в эту?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.10.2017, 15:21
Ответы с готовыми решениями:

Вывод данных из MySQL
У меня в базе данных есть таблица с товарами. Мне нужно вывести их на страницу. Как это сделать?

Вывод данных из БД MySQL с использованием MVC и ООП
Здравствуйте. Есть БД testing с таблицей testing с тремя полями: id, FIO, gryppa. Есть файл index.php следующего содержания: $connect =...

Вывод данных из mysql определенного зарегистрированного человека
Здравствуйте! Столкнулся с такой проблемой, есть форма, которая обрабатывается и записывает данные в таблицу mysql. Но эта форма доступна...

3
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
03.10.2017, 16:40
в таких подобных классах обычно не пишут сами запросы

Цитата Сообщение от andyyy Посмотреть сообщение
Как ее передать из той фнкции( mysql()) в эту?
думаю лучше юзать конструкторы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public function __construct()
{
     try {
          $this->mysqli = new mysqli( DB_HOST, DB_USER, DB_PASS, DB_NAME );
          $this->mysqli->set_charset( "utf8" );
     } catch ( Exception $e ) {
          die( 'Unable to connect to database' );
     }
}
 
Пример:
public function select($query, $params = false /* Тут как-нибудь а реализовать передачу параметров */) 
{
    $result = $this->mysqli->query($query);
    return (!$result) ? false : $result;
}
 
Пример:
public function escape($data)
{
     if( !is_array( $data ) )
     {
         $data = $this->mysqli->real_escape_string( $data );
     } else {
         $data = array_map([$this, 'escape' ], $data);
     }
  return $data;
}
0
 Аватар для Malenych
0 / 0 / 2
Регистрация: 02.05.2013
Сообщений: 65
21.10.2017, 13:36
Лучший ответ Сообщение было отмечено andyyy как решение

Решение

andyyy, для этого ваша функция $this->mysql() должна возвращать идентификатор соединения с базой, проще говоря - линк:
PHP
1
2
3
4
5
6
7
8
protected function mysql()
{
    $link = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
 
    if (!$link) die('Ошибка подключения');
 
    return $link;
}
Затем эти данные передать в mysqli_query(), например так:
PHP
1
    mysqli_query($this->mysql(), $sql);
НО! Для того, чтобы сохранить идентификатор соединения в объекте класса "a" лучше создать параметр $link, которому присвоить идентификатор соединения с базой:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class a
{
    protected $link;
    
    public function __construct() {
        if ( !$this->mysql() ) exit('Ошибка подключения к базе данных!'); // здесь функция подключения  ;
    }
    
    public function select ($sql = "SELECT * FROM `test`")
     {
        if(!$r = mysqli_query($this->link, $sql)) {die("Ошибка ");}
 
        $array = mysqli_fetch_array($r);
 
        echo $array['id']; // для пробы
      }
    
    protected function mysql()
    {
        $link = @mysqli_connect('localhost', 'my_user', 'my_password', 'my_db'); // С помощью @ подавляем ошибку, которая возникнет при неверном подключении
 
        if (!$link) return false;  // Возвращаем false, если подключение не удалось
 
        $this->link = $link;
        
        return true; // Если удалось - true
    }
}
 
$a = new a;
$a->select();
Это в вашем случае.

Лучше писать, как FloppyDisc , либо использовать класс PDO вместо MySQLi.
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
24.10.2017, 12:45  [ТС]
О спасибо)) а как делать функцию циклов для нужных страниц?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.10.2017, 12:45
Помогаю со студенческими работами здесь

Ajax отправка данных из формы в базу mysql и вывод из базы mysql
$(function() { $('#chat_submit').click(function(e) { e.preventDefault(); var chat_name =...

Вывод данных из базы данных MySQL в PHP в виде дерева.
У нас в сети решили сделать портал-базу по рефератам. Все я сделал остались две траблы, про первую я здесь и пишу. Итак, имеется база с...

Вывод данных из mysql. Максимум 10 данных на страницу!
Имеется ниже код, который выводить данные из mysql в таблицу (пользователю) в личный кабинет! Сейчас этих данных в mysql очень много,...

Вывод необходимых данных из базы данных MySQL
Всем привет. Подскажите как проще всего реализовать вывод необходимых данных из бд, проблема в следующем: На сайтах висят формы заказа...

Вывод данных из БД mysql
Привет! Помогите пожалуйста найти ошибку или направить Нужно вывести на страницу данные из базы данных Пишу код <?php


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru