Raketenwilli: Objekt als Konstante...

Beitrag lesen

Einen define für eine DB Connection kann man aber nicht verwenden. Weil das eben keine Konstante ist, sondern ein Objekt.

Ok. Ich zeige es.

<?php
define(
	'sqlite3',
	new SQLite3( '/home/fastix/armbian.sqlite3' )
);

$query  = 'SELECT name, description from pakete LIMIT 4';
$result = sqlite3->query( $query );

while ( $row = $result->fetchArray( SQLITE3_ASSOC ) ) {
   print_r( $row );
};

... Dann sollte man das testen.

Array
(
    [name] => accountsservice
    [description] => query and manipulate user account information
)
Array
(
    [name] => acct
    [description] => GNU Accounting utilities for process and login accounting
)
Array
(
    [name] => acl
    [description] => access control list - utilities
)
Array
(
    [name] => acpid
    [description] => Advanced Configuration and Power Interface event daemon
)

Oder was sollte dein Beispiel besagen? Ich sehe da Code, der seinen eigenen Sourcecode ausgibt...

und jetzt die ersten vier Zeilen aus der Liste der Pakte von Armbian.

Erst wenn ich an das Skript

sqlite3->close();
$result = sqlite3->query( $query );

anhänge (also die Verbindung schließe und die Abfrage nochmals versuche), dann kommt

PHP Fatal error:  Uncaught Error: The SQLite3 object has not been correctly initialised or is already closed in /home/fastix/tmp/2.php:14

Also in der Zeile $result = sqlite3->query( $query ); ich hätte auch erwartet, dass PHP sich dort über die geschlossene Verbindung beschwert.

sqlite->open( $file  );

funktioniert auch.