So einschließlich bekam ich eine Klasse wie folgt:SQLite erzeugt 2 Datenbanken, wenn aus verschiedenen Verzeichnissen
class Db {
protected static $dbh = false;
function connect(){
try {
self::$dbh = new PDO("sqlite:./test.db");
self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$dbh->exec("CREATE TABLE IF NOT EXISTS news (id INTEGER PRIMARY KEY AUTOINCREMENT, tytul TEXT, tresc TEXT, data DATE, wazne TINYINT(1))");
} catch (PDOException $e) {
echo $e->getMessage();
}
}
}
es mehr ist wie Funktionen holen etc. Ich habe diese Klasse wie folgt gespeichert:
|otherfile.php
|admin
|inc/db.inc
|somefile.php
Also mein Problem ist, wenn ich brauche ('db.inc'); aus der Datei somefile.php und verwenden Sie die Klasse erstellt es eine neue test.db im Ordner "admin". Aber wenn ich es in der Datei "otherfile.php" benötige und die Klasse benutze, erstellt es eine separate test.db Datei in demselben Ordner wie "otherfile.php". Wie kann ich es erzwingen, eine Datei zu verwenden, während immer noch ein relativer Pfad zur db verwendet wird?
edit: Ich persönlich denke, das ist die beste funktionieren würde:
function connect(){
try {
$dir = __DIR__.'/test.db';
self::$dbh = new PDO("sqlite:".$dir);
self::$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$dbh->exec("CREATE TABLE IF NOT EXISTS news (id INTEGER PRIMARY KEY AUTOINCREMENT, tytul TEXT, tresc TEXT, data DATE, wazne TINYINT(1))");
} catch (PDOException $e) {
echo $e->getMessage();
}
}
Das funktioniert lokal mit meinem xampp Setup, aber nicht funktioniert leider auf einem Remote-Server.
edit: Endlich herausgefunden, siehe Antwort. sowieso
Danke für die Antworten :-)
versuchen, einen vollständigen Pfad auf Ihrer DB-Klasse verwenden, wenn Sie die Datenbank verweisen, statt ./ – Gerep
ja das funktionieren würde ich es wissen, ich habe nur gefragt, ob es möglich ist, während immer noch einen relativen Pfad mit – Piotr
es nicht möglich, weil Sie von verschiedenen Orten auf die Klasse zugreifen und der relative Pfad nicht funktioniert. – Gerep