|
|
|
| Двое суток мучаюсь, не могу понять, что не так... есть файл с описанием класса
connect_db.php
class connect extends vars
{
function connect()
{
$this->conn_id=mysql_connect($this->sql_host,$this->sql_login,$this->sql_passwd);
mysql_select_db($this->sql_database);
}
function sql_execute($sql_query)
{
$this->sql_res=mysql_query($sql_query,$this->conn_id);
$this->sql_err=mysql_error();
}
function num_result()
{
$this->$num_res=mysql_num_rows($this->sql_res);
return $this->$num_res;
}
}
|
и файл собственно с обработкой данных function_add.php
include ("../connect_db.php");
$connect = new connect();
session_start();
$connect->sql_execute("SELECT * FROM buf_links where user='$_SESSION[valid_user]'");
if($connect->num_result() == 0) {$max_id_links = 1;}
echo $max_id_links;
|
так вот на этой строке выдает ошибку
$this->$num_res=mysql_num_rows($this->sql_res);
при этом ошибка выдается только если выкидываешь это на FTP, если локально то все работает и второе если в файле function_add.php написать так:
include ("../connect_db.php");
$connect = new connect();
session_start();
$connect->sql_execute("SELECT * FROM buf_links where user='$_SESSION[valid_user]'");
$result = mysql_num_rows($connect->sql_res);
if($result == 0) {$max_id_links = 1;}
echo $max_id_links;
|
то тоже все работает, но это не выход потому как очень во многих файлах используется этот класс, и переписывать просто нет возможности.
PS Текст ошибки : Fatal error: Cannot access empty property | |
|
|
|
|
|
|
|
для: Poul
(17.12.2007 в 09:33)
| | Потому что фатальная ошибка "Fatal error: Cannot access empty property". PHP4 и PHP5 отличаются. Я полагаю у вас дома РНР5, а на хосте РНР4? | |
|
|
|
|
|
|
|
для: mihdan
(17.12.2007 в 10:10)
| | наоборот дома 4 на хосте 5... так а что изменить-то надо?
и еще вопрос... у меня дома вообще Denwer, но есть возможность поставить apache и php5, а как при этом снести Denwer, или можно установить поверх? Возможно вопрос немного глуп. но как то установкой apache не приходилось заниматься | |
|
|
|
|
|
|
|
для: Poul
(17.12.2007 в 10:16)
| | Чтобы снести Денвер, нужно просто удалить папку с ним, в реестре системы он никде не прописан. | |
|
|
|
|
|
|
|
для: Thrasher
(17.12.2007 в 10:27)
| | Спасибо, пошел сносить:) | |
|
|
|
|
|
|
|
для: Poul
(17.12.2007 в 10:16)
| | Для того чтобы сменить у Денвера версию РНР, его не надо сносить и даже перустанавливать, достаточно заменить билиотеку. | |
|
|
|
|
|
|
|
для: sim5
(17.12.2007 в 10:35)
| | отлично, версию php сменил, теперь не работает и на хосте и локально, только это не то что мне надо, мне то надо как раз чтобы работало... подскажите что изменить надо? я и так в классах не силен. а тут еще и разница между версиями php, | |
|
|
|
|
|
|
|
для: Poul
(17.12.2007 в 12:10)
| | Все тему можно закрыть.. все получилось, как выяснилось в PHP5 просто синтаксис более жесткий! | |
|
|
|
|