DLE :: Fatal Error: Call to a member function num_rows() on a non-object in... - CodeHelper

DLE :: Fatal Error: Call to a member function num_rows() on a non-object in...

1

Проблема вот в чем - пишу модуль для DLE, хочу обратиться к базе данных, а он мне ошибку. Я не очень шарю в классах, но думаю проблема с ними. Вот код:

$x = $db->num_rows( $db->query( "SELECT * FROM links WHERE link='$data'" ) );
if ( !$x ) 
    $db->query( 
        "INSERT INTO links(link,attime) VALUES('$data','$d')")or 
    die( "Произошла ошибка. Попробуйте позже." );
Anna

Большой ассортимент сумок, сумочек, клатчей! Оптимальные цены. Производство Украина - Италия. Цены от 100 до 600 гривен. На сайте: http://glostore.com.ua или в группе http://vkontakte.ru/glostore

Новые ответы

1
...
4
5
6
7
8
9
1

я разобрался. так как этот файл у меня был для аякс запроса, в него нужно включить всё, а именно:

@session_start();
@error_reporting( 7 );
@ini_set( 'display_errors', true );
@ini_set( 'html_errors', false );

define( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', '../..' );
define( 'ENGINE_DIR', '..' );

include ENGINE_DIR . '/data/config.php';
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
peter911

$query = $db->query("SELECT * FROM ..."); echo $db->num_rows($query);

0

Эта ошибка означает, что $db не является экземпляром объекта. Покажи код, который используется для инициализации переменной.

Stasovsky

это в DLE движке...

class db
{
...
function num_rows($query_id = '')
{
  if ($query_id == '') $query_id = $this->query_id;
  return mysql_num_rows($query_id);
}
...
Sergey

Ну попробуй написать

// Создаем объект класса db
$mydb = new db;
//И потом используем его
$x = $mydb->num_rows( $db->query( "SELECT * FROM links WHERE link='$data'" ) );
if ( !$x ) 
    $mydb->query( 
        "INSERT INTO links(link,attime) VALUES('$data','$d')")or 
    die( "Произошла ошибка. Попробуйте позже." );

Это если у db нет конструктора с параметрами(конструктор выглядит как функция с именем класса)

Stasovsky

К сожалению, Fatal error: Class 'db' not found in... что интересное, этот файл лежит в inc и не хочет обращаться к mysql.class.php, а другой файл (там же, в inc), нормально обращается, при том, что я там ничего не объявлял...

Sergey

С DLE не особо знаком, смотрю такие ошибки частенько происходят Попробуй явно подключить dbconfig.php, там вроде и создаётся экземпляр класса.

Stasovsky

классы в mysql.class.php, я его уже подключал, и всё равно: Fatal error: Call to a member function num_rows() on a non-object in...

1
...
4
5
6
7
8
9
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.