2017-05-09 2 views
0

Hallo Freunde mit,wie sqlite3 Datenbank von cPanel zugreifen php

  class MyDB extends SQLite3 
     { 
     function __construct() 
      { 
       $this->open('/var/cpanel/eximstats_db.sqlite3'); 
      } 
     } 
     $db = new MyDB(); 
     if(!$db){ 
     echo $db->lastErrorMsg(); 
     } else { 
     echo "Opened database successfully\n"; 
     } 

ich habe eximstats db vom Server. während der Aktualisierung meines Servers wird die eximstats db unter dem SQLite3 gelandet. Ich bin ein neuer zu SQLite3, obwohl ich viele Male mehr versucht habe, auf diese Datenbank zuzugreifen, indem ich den obigen PHP-Code benutze, aber ich habe nie ein Ergebnis bekommen. Bitte helfen Sie mir, diese Codierung zu verbessern.

Ist dieser Code korrekt? während diese läuft bekam i „Fatal error: abgefangene Ausnahme‚Exception‘mit der Meldung‚Kann nicht Datenbank öffnen: Kann nicht Datenbank-Datei öffnen‘“

Sie danken

+0

@DavidDomain Dank für Ihre Antwort danken. Ich habe PDO-Treiber installiert, dann zeigt es die Uncaught-Ausnahme 'PDOException' mit der Nachricht 'Treiber konnte nicht gefunden werden' – tibu

+0

Sie können die Datenbank nicht öffnen, weil Sie versuchen, als Nicht-root-Benutzer auf die Datenbank zuzugreifen root und nur von root schreibbar. Versuchen Sie dieses: https://stackoverflow.com/questions/44499844/cant-access-eximstats-sqlite3-db-after-whm64-upgrade – Konservin

Antwort

0

Sie einfach PHP PDO-Schnittstelle Ihre SQLite3 zugreifen können Datenbank.

$db = new PDO('sqlite:/var/cpanel/eximstats_db.sqlite3') 

PDO_SQLITE DSN

To access a database on disk, append the absolute path to the DSN prefix.

einfach sicher, dass Sie die PDO-Treiber für SQLite 3.x auf Ihrem System installiert haben.

nun eine Tabelle nur tun, um zu wählen:

$result = $db->query('SELECT * FROM tablename'); 
foreach($result as $row) { 
    print_r($row); 
} 
+0

Ich habe die PDO-Befehle versucht, aber immer noch habe ich Fehler jetzt der Fehler ist "Uncaught Ausnahme 'PDOException' mit der Meldung 'Treiber konnte nicht gefunden werden' "mit phpinfo() wird angezeigt, dass der PDO-Treiber aktiviert ist. was mache ich nächstes – tibu

+0

Welche PHP-Version, OS verwenden Sie? – DavidDomain

+0

Ich habe versucht, $ db = new PDO ('myservername/sqlite: /var/cpanel/eximstats_db.sqlite3'); ist diese Arbeit – tibu