X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Создание и работа с классами в php
MetSerp
MetSerp
Topic Starter сообщение 27.1.2009, 17:48; Ответить: MetSerp
Сообщение #1


[php]<?php
Class SUBD // создаем клас с именем SUBD
{
var $hostname = "localhost"; // локальные переменнае для класса
var $username = "root";
var $password = "";
var $dbName = "main";
var $query = "";
function connect() //пишем функцию подключения
{
mysql_connect ($this ->$hostname,$this ->$username,$this->$password) or die ("Нет подключения!");//подключаемся используя локальные переменные класса
mysql_select_db ($this -> $dbname) or die ("Не возможно выбрать базу данных!") ;// выбираем БД
}
function query($value,$table,$act,$where) // функция работы с БД Передаем значения и прочее
{
switch ($act == 1) // выбранное при передаче функции, действие соответсвенно присваивает переменной запроса значение
{
case $this -> $query = "SELECT $value FROM $table WHERE $where"; // выбрать
break;
}
switch ($act == 2)
{
case $this -> $query = "INSERT INTO $table ($column) VALUES ($values)"; // добавить
break;
}
switch ($act == 3)
{
case $this -> $query = "UPDATE $table SET $values WHERE $where"; // обновить
break;
}
switch ($act == 4)
{
case $this -> $query = "SELECT $value FROM $table "; // выбор без условий
break;
}
mysql_query ($this -> $query) or die ("Ошибка выполнения запроса!"); // выполнить запрос
}
}
////////////////////////////////////////// Тестирование класса//////////////////////////////////////
$newClass = new SUBD();
$newClass->connect();
echo ("$newСlass->query(\"*\",\"users\",4,)");
?>

[/php]Вот решил учить классы написал вот такое.:s009: По задумке этот класс должен выполнять все магические действия над БД но
[php] mysql_connect ($this ->$hostname,$this ->$username,$this->$password) or die ("Нет подключения!");[/php]Вызывает ошибку:
Fatal error: Cannot access empty property in S:\home\localhost\www\zgora.ru\admin\engine\core\classes.php on line 11
C чем это может быть связано ? Проверил вроде на все свои стандартные ошибки, нашел еще 3 в ДНК (1 в формировании мозга, 2 в расположение рук относительно филейной части, 3 в формировании рук не прямо, как надо. а криво) Но их исправить не могу, нет исходников:rolleyes:
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 28.1.2009, 14:49; Ответить: MetSerp
Сообщение #2


сотбсвенно основная проблемма "Почему?" отпала как только я в начале файла написал
[PHP]echo (phpversion());
exit();[/PHP]
И увидел 5.2.4 :tootoo:
Хотя был уверен что пишу под 4 :sarcastic:
Собственно теперь вопрос как изменить класс чтобы он под 5 пошел либо проще переставить php?:sarcastic:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 28.1.2009, 14:53; Ответить: Webmaster_hb
Сообщение #3


MetSerp, лучше откройте документацию и посмотрите вопросы ООП
там же указаны нюансы и различия 4 и 5 версии PHP
возвращаться к 4 не советую, т.к. скоро уже будет 6, да и ООП развивается с каждой версией
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 28.1.2009, 14:58; Ответить: MetSerp
Сообщение #4


вроде почитал но как то не понял.
пробовал заменить this на that ошибка осталась пробовал ставить private и public переменным, но ошибка та же самая.
По какой причине она может возникать? почему нет доступа к переменной даже если я ее ставлю паблик:eek:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Webmaster_hb
Webmaster_hb
сообщение 28.1.2009, 15:23; Ответить: Webmaster_hb
Сообщение #5


хммм в самом начале у вас непонятно что вы делаете
$this ->$hostname - это что?

если поймете ответ на этот вопрос, тогда и разберетесь, найдите различие
$this ->hostname
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
MetSerp
MetSerp
Topic Starter сообщение 28.1.2009, 15:27; Ответить: MetSerp
Сообщение #6


хммму что не нужно знать что это переменная? он просто найдет ее по имени?:wacko:
Действительно Заработало! только теперь не выполняет запрос а выводит как есть строку но это я уже разберусь
эмм возник подвопрос. Как в функцие объявить необязательный параметр.
[php]function query($value,$table,$act,$where,[необязательный параметр],[еще один необязательный параметр])[/php]
то есть у меня есть такие параметры в функции которые иногда ненужна но иногда без них невозможно выполнить функцию например $value,$table,$act нужны всегда а вот $where не везде и мне приходится делать его значение пустым но если его нет скрипт не работает

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) как заслужить право на создание новой темы?
7 writer80 2213 12.3.2024, 22:54
автор: Lumex
Открытая тема (нет новых ответов) <Braga/> Создание Telegram-ботов, web-приложений, крипто-бирж, сайтов.
2 newbraga 1798 10.3.2024, 22:04
автор: newbraga
Открытая тема (нет новых ответов) Нужна работа
0 filatd 742 12.1.2024, 17:08
автор: filatd
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3426 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1246 24.11.2023, 14:46
автор: alexey


 



RSS Текстовая версия Сейчас: 25.4.2024, 21:34
Дизайн