Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с классами :)
 
 автор: Zezst   (27.11.2008 в 13:01)   письмо автору
 
 

Есть небольшая проблема в понимании классов, а точнее в использовании переменных внутри класса.
есть следующий код:
<?php
class mysqli_rus
{
  function 
connect ($dblocation,$dbuser,$dbpassword)
  { 
//делаем коннект к базе
    
$mysqli =new mysqli($dblocation,$dbuser,$dbpassword);
    if (
mysqli_connect_errno()) exit("Ошибка установки соединения");
  }
  function 
dbcreate ($dbname)
  {
    
$query ="CREATE DATABASE ".$dbname;
    if(!
$mysqli->query($query))
{
  exit(
"База данных не создана ".$mysqli->error);
}

  }
}
$dblocation 'localhost'//адрес сервера MySQL
$dbuser 'root';          //имя пользователя базы данных
$dbpassword '******';     //пароль
$dbname 'basa';     //имя базы данных

$obj =new mysqli_rus();
$obj->connect($dblocation,$dbuser,$dbpassword);
$obj->dbcreate($dbname);

?>

вот $obj->connect() выполняеться нормально, а на $obj->dbcreate() грязно ругаеться вот таким текстом: Fatal error: Call to a member function query() on a non-object in D:\WWW\12\prev0~.php on line 12
и вот умом понимаю что как то иначе нужно делать обращение к переменным
но что то мозг тормозит на том как надо

  Ответить  
 
 автор: michail1982   (27.11.2008 в 13:22)   письмо автору
 
   для: Zezst   (27.11.2008 в 13:01)
 

а если так?
<?php
class mysqli_rus
{
private 
$mysqli
 function 
connect ($dblocation,$dbuser,$dbpassword)
  { 
//делаем коннект к базе
    
$this->mysqli =new mysqli($dblocation,$dbuser,$dbpassword);
    if (
mysqli_connect_errno()) exit("Ошибка установки соединения");
  }
  function 
dbcreate ($dbname)
  {
    
$query ="CREATE DATABASE ".$dbname;
    if(!
$this->mysqli->query($query))
{
  exit(
"База данных не создана ".$this->mysqli->error);
}

  }
}
$dblocation 'localhost'//адрес сервера MySQL
$dbuser 'root';          //имя пользователя базы данных
$dbpassword '******';     //пароль
$dbname 'basa';     //имя базы данных

$obj =new mysqli_rus();
$obj->connect($dblocation,$dbuser,$dbpassword);
$obj->dbcreate($dbname);

?> 

  Ответить  
 
 автор: Zezst   (27.11.2008 в 13:34)   письмо автору
 
   для: michail1982   (27.11.2008 в 13:22)
 

спасибо огроменное
вот гдето так и представлял
но никак оформить до конца не смог
вчера вырубило (тоесть уснул)
а с утра долго въезжал в то место где трабла была :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования