Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подключение к бд по средствам или за счет ipb... 
:(
    Опции темы
Predator199
  Дата 28.7.2014, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 412
Регистрация: 1.2.2012

Репутация: -3
Всего: -4



Помогите разобраться с подключение классов ipb... Хотелось бы использовать все те функции для обращение к бд...

Есть скрипт, прописываю в нем следующее
Код

    define( 'IPB_THIS_SCRIPT', 'public' );
    require_once( './initdata.php' );/*noLibHook*/
    require( DOC_IPS_ROOT_PATH . 'conf_global.php' );
    //$db = mysql_connect($INFO['sql_host'],$INFO['sql_user'],$INFO['sql_pass']); 
     // mysql_select_db($INFO['sql_database'],$db); 
     //mysql_query('SET names '.$INFO['sql_charset']);
  
     require( IPS_KERNEL_PATH . 'classDbMysql.php' );


    $db = new interfaceDb;

    $db->build( array( 'select' => '*',
                           'from'   => 'table',
                           'where'  => 'id=2 and mid=1',
                           'order'  => 'date DESC',
                           'limit'  => array( 0, 30 ) ) );
    $db->execute();




Ответ
Fatal error: Call to a member function build() on a non-object i

Что содержит classDbMysql.php

Код

if( !defined('REPLACE_TYPE') )
    define( 'REPLACE_TYPE', 2 );

if ( ! class_exists( 'dbMain' ) )
    require_once( dirname( __FILE__ ) . '/classDb.php' );/*noLibHook*/

abstract class db_main_mysql extends dbMain
{

    protected $cached_fields        = array();

    protected $cached_tables        = array();

    public $fieldNameEncapsulate    = '`';

    public function getConnectionId()
    {
        return $this->connection_id;
    }

    /**
     * Delete data from a table
     *
     * @param    string        Table name
     * @param    string        [Optional] Where clause
     * @param    string        [Optional] Order by
     * @param    array        [Optional] Limit clause
     * @param    boolean        [Optional] Run on shutdown
     * @return    @e resource
     */
    public function delete( $table, $where='', $orderBy='', $limit=array(), $shutdown=false )
    {
        if ( ! $where )
        {
            $this->cur_query = "TRUNCATE TABLE " . $this->obj['sql_tbl_prefix'] . $table;
        }
        else
        {
         $this->cur_query = "DELETE FROM " . $this->obj['sql_tbl_prefix'] . $table . " WHERE " . $where;
        }

        if ( $where AND $orderBy )
            $this->_buildOrderBy( $orderBy );
        

        if ( $where AND $limit AND is_array( $limit ) )
            $this->_buildLimit( $limit[0], $limit[1] );
        
        $result    = $this->_determineShutdownAndRun( $this->cur_query, $shutdown );

        $this->cur_query    = '';

        return $result;
    }

......


Вот, что содержит файл classDb.php
Код

/**
 * <pre>
 * Invision Power Services
 * IP.Board v3.4.6
 * Database Abstraction Layer
 * Last Updated: $Date: 2013-05-20 16:38:23 -0400 (Mon, 20 May 2013) $
 * </pre>
 *
 * @author        $Author: bfarber $
 * @copyright    (c) 2001 - 2009 Invision Power Services, Inc.
 * @license        http://www.invisionpower.com/company/standards.php#license
 * @package        IP.Board
 * @subpackage    Kernel
 * @link        http://www.invisionpower.com
 * @since        Monday 28th February 2005 16:46
 * @version        $Revision: 12261 $
 *
 * Basic Usage Examples
 * <code>
 * $db = new db_driver();
 * Update:
 * $db->update( 'table', array( 'field' => 'value', 'field2' => 'value2' ), 'id=1' );
 * Insert
 * $db->insert( 'table', array( 'field' => 'value', 'field2' => 'value2' ) );
 * Delete
 * $db->delete( 'table', 'id=1' );
 * Select
 * $db->build( array( 'select' => '*',
 *                           'from'   => 'table',
 *                           'where'  => 'id=2 and mid=1',
 *                           'order'  => 'date DESC',
 *                           'limit'  => array( 0, 30 ) ) );
 * $db->execute();
 * while( $row = $db->fetch() ) { .... }
 * Select with join
 * $db->build( array( 'select'   => 'd.*',
 *                           'from'     => array( 'dnames_change' => 'd' ),
 *                           'where'    => 'dname_member_id='.$id,
 *                           'add_join' => array( 0 => array( 'select' => 'm.members_display_name',
 *                                                     'from'   => array( 'members' => 'm' ),
 *                                                     'where'  => 'm.member_id=d.dname_member_id',
 *                                                     'type'   => 'inner' ) ),
 *                           'order'    => 'dname_date DESC' ) );
 *  $db->execute();
 * </code>
 */

/**
 * This can be overridden by using
 * $DB->allow_sub_select = 1;
 * before any query construct
 */

define( 'IPS_DB_ALLOW_SUB_SELECTS', 0 );

/**
 * Database interface
 */
interface interfaceDb
{

    public function connect();
    public function getConnectionId();
    public function disconnect();
    public function fetchSqlString();

    /**
     * Delete data from a table
     *
     * @param    string        Table name
     * @param    string        [Optional] Where clause
     * @param    string        [Optional] Order by
     * @param    array        [Optional] Limit clause
     * @param    boolean        [Optional] Run on shutdown
     * @return    @e resource
     */
    public function delete( $table, $where='', $orderBy='', $limit=array(), $shutdown=false );

....


Подскажите пожалуйста.  В каком порядке необходимо прописывать, что нужно вызвать...
Подгрузил скрипты, в них классы. А какой именно класс необходимо вызвать, создать объект. Чтобы все выше написанное заработало

Прописываю $th = new interfaceDb; Но и так ошибка...

Это сообщение отредактировал(а) Predator199 - 28.7.2014, 10:18
PM MAIL   Вверх
Aliance
Дата 28.7.2014, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Объект создается из интерфейса.  smile 
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0427 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.