[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Переход на Mysqli, ооп, не могу связать классы
asstral
Доброго времени суток!
Решил перейти на mysqli, переписать старый свой сайт.

Вызов таков:
есть index.php, который собственно и вызывается при обращение к сайту.
Это начало файла index.php:


<?php
include 'bin/class/mysql/CLASS_mysqli.php';
$mysqli = new CLASS_mysqli();
$mysqli->connect();

$q = 'SELECT * FROM url WHERE value="/home_page"';
$res = mysqli_query($mysqli->mysqli, $q);
$max = mysqli_num_rows($res);

if ($max>0){
$s = mysqli_fetch_array($res);
if ($s['access'] == 1) {
$q = 'SELECT * FROM dw WHERE url_id='.$s['id'];
$res = mysqli_query($mysqli->mysqli, $q);
$max = mysqli_num_rows($res);
if ($max == 1){
$s = mysqli_fetch_array($res);
$DW_ID = $s['id'];
$SCREEN = 5;
}
}
}


Содержимое Класса CLASS_mysqli.php

<?php
class CLASS_mysqli
{
var $mysqli;

function connect(){

$hostname_connect = "--------------";
$database_connect = "--------------";
$username_connect = "--------------";
$password_connect = "--------------";

$this->mysqli = new mysqli($hostname_connect, $username_connect, $password_connect, $database_connect);
if ($mysqli->connect_errno) {
echo "Не удалось подключиться к MySQL: (" . $this->mysqli->connect_errno . ") " . $this->mysqli->connect_error;
}
}
}


Всё отлично работает. Переменная $SCREEN получает значение = 5
Идём дальше по index.php:

if ($SCREEN == 5){
require 'bin/class/dw/CLASS_dw_draw.php';
$dw_draw = new CLASS_dw_draw();
echo $dw_draw->draw($DW_ID);
}

Здесь всё тоже прекрасно, мы вызвали класс и выводим его, при этом $DW_ID чему-то хорошему равно, т.е. id нашего, к примеру, поста.

Но внутри CLASS_dw_draw.php уже класс CLASS_mysqli.php не срабатывает.
Вот, что написано в CLASS_dw_draw.php:

<?php
class CLASS_dw_draw
{
function draw($id){
$mysqli = new CLASS_mysqli();
$q = 'SELECT * FROM dw WHERE id='.$id;
$res = mysqli_query ($mysqli->mysqli, $q);
$max = mysqli_num_rows ($res);echo'!!! h='.$mysqli->return_p();
if ($max == 1) {
$s = mysqli_fetch_array ($res);
....
....
$r='зашли';
....

}
return $r;
}


Получается, что $mysqli->mysqli обнулен.
В классе CLASS_mysqli.php ставил к переменной mysqli значение public, всё равно не работает.
Почему? Я работал с pcSharp, там как-то по-понятней/проще, во первых не надо инклудировать, компилятор сам найдет фаил с классом по его названию.
Собственно пример для C#:

class a{
public int i;
}

class b{
a A;
A.i = 9;
}

class c{
a A;
print A.i; // выводил 9
}


Как мне реализовать это на php?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.