Comment se connecter à une base de données SQLite avec PHP? [dupliquer]

Cette question a déjà une réponse ici:

j'ai une base de données SQLite et j'essaie de me connecter avec PHP. C'est ce que j'utilise:

<?php
    $dbconn = sqlite_open('combadd.sqlite');

    if ($dbconn) {
        $result = sqlite_query($dbconn,  "SELECT * FROM combo_calcs WHERE options='easy'");
        var_dump(sqlite_fetch_array($result, SQLITE_ASSOC));
    } else {
        print "Connection to database failed!n";
    }
?>

Cependant, j'ai cette erreur:

Avertissement: sqlite_open() [fonction.sqlite-ouvert]: le fichier est crypté ou n'est pas une base de données dans C:xampphtdocsdeepthicombaddcombadd_db.php sur la ligne 4

Connexion à la base de données a échoué!

Qu'est-ce qui ne va pas et comment puis-je le réparer?

15
demandé sur icktoofay 2013-05-24 09:34:37

3 réponses

essayez D'utiliser AOP au lieu de sqlite_open:

$dir = 'sqlite:/[YOUR-PATH]/combadd.sqlite';
$dbh  = new PDO($dir) or die("cannot open the database");
$query =  "SELECT * FROM combo_calcs WHERE options='easy'";
foreach ($dbh->query($query) as $row)
{
    echo $row[0];
}
$dbh = null; //This is how you close a PDO connection
28
répondu Antonio Carlos Ribeiro 2018-03-29 21:22:13

Connexion À La Base De Données Le code PHP suivant montre comment se connecter à une base de données existante. Si la base de données n'existe pas, il sera créé et enfin un objet de base de données sera retourné.

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('combadd.sqlite');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }
?>

maintenant, exécutons le programme ci-dessus pour créer notre test de base de données.db dans le répertoire courant. Vous pouvez changer votre chemin selon vos exigences. Si la base de données est créé avec succès, alors il sera de donner le message suivant:

Open database successfully

sélectionner L'opération

le programme PHP suivant montre comment nous pouvons récupérer et afficher des enregistrements

<?php
   class MyDB extends SQLite3
   {
      function __construct()
      {
         $this->open('combadd.sqlite');
      }
   }
   $db = new MyDB();
   if(!$db){
      echo $db->lastErrorMsg();
   } else {
      echo "Opened database successfully\n";
   }

   $sql =<<<EOF
      SELECT * FROM combo_calcs WHERE options='easy';
EOF;

   $ret = $db->query($sql);
   while($row = $ret->fetchArray(SQLITE3_ASSOC) ){
      echo "ID = ". $row['ID'] . "\n";
   }
   echo "Operation done successfully\n";
   $db->close();
?>
8
répondu Yogus 2013-05-24 05:42:24
<?php

    if ($db = sqlite_open('sampleDB', 0666, $sqliteerror) ) { 
        $result = sqlite_query($db, 'select bar from foo');
        var_dump(sqlite_fetch_array($result) ); 
    } else {
        die($sqliteerror);
    }

?>

assurez-vous que le support sqlite est activé, vérifiez phpinfo()

class DB extends SQLite3
{
        function __construct( $file )
        {
            $this->open( $file );
        }
}

$db = new DB( 'sampleDB.sqlite' );
1
répondu justnajm 2013-05-24 05:39:21