Zweig: SQLite ( query )

Er gibt den Fehler "Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\AdvPL\Core\SQLite.php on line 63" aus.
Ich weiß absolut nicht wieso dieser Fehler hier vorliegt.

<?php
require_once 'Database.php';

class _SQLite extends Database
{
    private $db = null;
    public $db_error = null;

const INDEX = 2;
    const TABLE = 4;
    const TRIGGER = 8;
    const VIEW = 16;
    const VTABLE = 32;

public function __construct($_database)
    {

if ( !empty($_database) )
        {
            // Verbindungsversuch
            try
            {
                $this->db = sqlite_open($_database . '.sqlite', 0666, $this->db_error);
            }
            catch (Database_Exception $e)
            {
                echo $e->getMessage($this->db_error);
            }
        }
        else
        {
            trigger_error('Parameter $_database ist leer!', E_USER_ERROR);
        }

}

public function __destruct()
    {
        unset($this->db);
    }

public function create($_tocreate, $_type)
    {

switch ($_type)
        {
            case self::TABLE:
                $this->query('CREATE TABLE [IF NOT EXISTS] ' . $_tocreate);
                break;
            default:
                trigger_error('Typ nicht implementiert', E_USER_ERROR);

}

}

public function query($_query)
    {

if ( !empty($_query) )
        {
            // Verbindungsversuch
            $query = $this->db->query($_query); //Zeile 63

if ( !$query )
            {
                throw new Exception(
                    $query->sqlite_error_string($query->error_get_last()),
                    $query->error_get_last()
                );
            }
        }
        else
        {
            trigger_error('Parameter $_query ist leer', E_USER_ERROR);
        }

}

}

$test = new _SQLite('test');
$test->create('tbl_1', 4);
?>

  1. Hallo

    Er gibt den Fehler "Fatal error: Call to a member function query() on a non-object in C:\xampp\htdocs\AdvPL\Core\SQLite.php on line 63" aus.
    Ich weiß absolut nicht wieso dieser Fehler hier vorliegt.

    Ich weiß absolut nicht, was Du dort anderes als einen Fehler erwarten kannst.

    private $db = null;

    [...]

    $this->db = sqlite_open($_database . '.sqlite', 0666, $this->db_error);

    Was liefert sqlite_open() zurück?
    [...]

    // Verbindungsversuch
                $query = $this->db->query($_query); //Zeile 63

    Wieso erwartest Du, dass eine DB-Resource ein Objekt wäre?
    Möchtest Du hier sqlite_query aufrufen?

    Fragende Grüße

    Vinzenz

    PS: Deine vielen Varianten von "query" finde ich höchst verwirrend und daher in der Namensgebung ungeschickt.