| |
|
|
| |
<?
class sql_manager {
var $value;
var $flag = false;
var $dbname = 'phpcom';
var $dbhost = 'localhost';
var $dbuser = 'root';
var $dbpass = '';
function __construct(){
mysql_connect($this->dbhost, $this->dbuser, $this->dbpass); // Коннект к бд
mysql_select_db($this->dbname); // Выбор бд
}
function insert($table = "test", $values = "test1, test2, test3"){
$this->sql = "INSERT INTO $table VALUES ($values)";
}
function update($table = "test", $values = "test1 = test, test1 = test, test1 = test", $id = "1"){
$this->sql = "UPDATE $table SET $values WHERE id = $id";
}
function select($table = "test", $row = "*" ,$limit=false, $start = "0", $end = "0"){
$this->sql = "SELECT $row FROM $table";
$limit ? $this->sql .= " LIMIT $start, $end" : "" ;
}
function delete($table = "test" , $id = "0", $limit=false, $start = "1"){
$this->sql = "DELETE FROM $table WHERE id = $id ";
$limit ? $this->sql .= " LIMIT $start" : "" ;
}
function __destruct() {
$row = "";
$result = "";
$value = "";
$result = mysql_query($this->sql);
global $value;
if(!$result) {
exit(mysql_error());
}
if ($this->flag) {
while ($row = mysql_fetch_assoc($result)) {
$value[] = $row;
}
} else {
$value = mysql_fetch_assoc($result);
}
}
}
$test = new sql_manager();
$test->select("news");
$test->flag=true;
print_r ($value);
?>
|
$value не выводиться :( Что не так? | |
| |
|
|
| |
|
|
| |
для: Akira
(02.11.2005 в 19:23)
| | |
$test = new sql_manager();
$test->select("news");
$test->flag=true;
unset($test);
print_r ($value);
?>
|
? | |
| |
|
|
| |
|
|
| |
для: Akira
(02.11.2005 в 19:23)
| | | $value находится внутри класса и не доступен для использования в не его - инкапсуляция. Необходимо предусмотреть медот, который бы выводил это значение в окно браузера внутри метода или возвращал в качестве значения. | |
| |
|
|
| |
|
|
| |
для: cheops
(02.11.2005 в 19:49)
| | | а как вы посоветуете организовать? | |
| |
|
|
| |
|
|
| |
для: Akira
(02.11.2005 в 21:47)
| | | Напишите в классе метод, например
function printr()
{
print_r($value);
}
|
И вызывайте его:
| |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(02.11.2005 в 21:53)
| | | А хотя попробуйте оставить как есть и вызывать так:
| |
| |
|
|
| |
|
|
| |
для: Евгений Петров
(02.11.2005 в 21:58)
| | | Уже пробывал. Не помогло. | |
| |
|
|
| |
|
|
| |
для: Akira
(02.11.2005 в 22:22)
| | | А
не работает? | |
| |
|
|