SQLite ( query )
Zweig
- php
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);
?>
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.