2009-07-11 2 views
0

Что я делаю неправильно здесь, люди?OOP фатальная ошибка

<?php 
include 'header.php'; 

/** 
* Display a user's profile 
*/ 

$id = $db->real_escape_string($_GET['id']); 
$user_res = $db->query("SELECT * FROM users WHERE id = $id"); 
$user = $user_res->fetch_assoc(); 
?> 

<h1><?php echo $user['username'] ?>'s Profile</h1> 

<?php 
include 'footer.php'; 
?> 

Равно:
Fatal error: Call to a member function real_escape_string() on a non-object in C:\wamp\www\test\profile.php on line 12</pre>

+0

$ db не определен как объект, поэтому PHP ему не нравится. Кажется, ваш файл header.php не содержит информацию о $ db. – tomzx

+0

У вас действительно есть какой-либо объект db, или вы просто ищете 'mysql_real_escape_string()', 'mysql_query()' и 'mysql_fetch_assoc()'? – deceze

ответ

2

Вы не имеют переменную $db или $db не является объектом базы данных вы ожидаете. Вам либо нужно создать его сначала, либо его нужно было создать в header.php, но не было.

-1

В вашей линии

$db->real_escape_string($_GET['id']); 

$db должен быть объектом, но, видимо, это не является либо ничего или что-то, что это не является объектом. Вам нужно создать экземпляр (создать) объект в какой-то момент.

$db = new DatabaseObject(); 
// substitute "DatabaseObject" with the actual name of the Class 

Вы сделали это?

Смежные вопросы