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 dansC: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?
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
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();
?>
<?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' );