tutorial sqlite_open php5 español ejemplos ejemplo datos crear php sqlite

sqlite_open - ¿Cómo me conecto a una base de datos SQLite con PHP?



sqlite php ejemplo (3)

Esta pregunta ya tiene una respuesta aquí:

Tengo una base de datos SQLite y estoy intentando conectarme a ella con PHP. Esto es lo que estoy usando:

<?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"; } ?>

Sin embargo, me sale este error:

Advertencia: sqlite_open() [function.sqlite-open]: el archivo está cifrado o no es una base de datos en C:/xampp/htdocs/deepthi/combadd/combadd_db.php en la línea 4
Falló la conexión a la base de datos!

¿Qué está mal y cómo puedo solucionarlo?


Trate de usar PDO en lugar 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


Conexión a la base de datos El código PHP siguiente muestra cómo conectarse a una base de datos existente. Si la base de datos no existe, se creará y finalmente se devolverá un objeto de base de datos.

<?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"; } ?>

Ahora ejecutemos el programa anterior para crear nuestra base de datos test.db en el directorio actual. Puede cambiar su camino según su requisito. Si la base de datos se crea correctamente, dará el siguiente mensaje:

Open database successfully

Operación SELECT

El siguiente programa PHP muestra cómo podemos obtener y mostrar registros

<?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); } ?>

Asegúrese de que el soporte de sqlite esté habilitado, verifique phpinfo ()

Otra solución a su problema es: usar el módulo sqlite3 en su lugar

class DB extends SQLite3 { function __construct( $file ) { $this->open( $file ); } } $db = new DB( ''sampleDB.sqlite'' );