Clase SQLiteDatabase
es un objeto de sqlite biblioteca, que el apoyo se redujo en PHP 5.4, pero en varios sistemas y configuración podría ser inhabilitado en un versiones anteriores, ya que esta biblioteca era mucho tiempo marcado como va a ser obsoleta.
Biblioteca php_sqlite.dll
(Windows) o php_sqlite.so
(Linux) ya no se admite en las últimas versiones de PHP y se sustituyó por php_sqlite3.dll
o php_sqlite3.so
respectivamente.
Puede:
tratar de encontrar php_sqlite.dll
(php_sqlite.so
) en algún lugar de Internet. Los enlaces como this o this pueden ser útiles para usted. Sin embargo, usted tiene que coincidir con cuidado edad archivo de biblioteca SQLite a la plataforma de tu PHP (x64
o x86
), la construcción del motor (VC6
, VC9
o VC11
), versión (5.x
) y tipo (TS
para seguro para subprocesos o NTS
para no seguro para hilos). Esta podría ser una tarea difícil.
Dejar php_sqlite.dll
(SQLiteDatabase
) detrás y hacia la nave nueva (objeto SQLite3
) php_sqlite3.dll
. Primero debe usar una herramienta como SQLite Studio para convertir su archivo de base de datos de 2.1 a 3.0 (el tamaño puede reducirse hasta la mitad) y luego compare cuidadosamente SQLite y SQLite3 páginas de manual de PHP para cambiar la función necesaria de objetos y funciones.
Si la opción de dos , tenga en cuenta que esto no debería ser un trabajo duro, ya que los cambios no son tan grandes.Por ejemplo, lo que he aprendido hasta ahora:
SQLiteDatabase
->SQLite3
,
SQLiteDatabase::unbufferedQuery
->SQLite3::query
,
SQLiteResult::fetchAll(SQLITE_*)
->SQLite3Result::fetchArray(SQLITE3_*)
etc.
En cuanto a ir a buscar, en viejo SQLite teníamos:
$rowsIMEI = $db->unbufferedQuery($imeiSQL)->fetchAll(SQLITE_ASSOC);
foreach($rowsIMEI as $r)
{
...
}
Mientras que, en la nueva SQLite3 debemos:
$rowsIMEI = $db->query($imeiSQL);
while($r = $rowsIMEI->fetchArray(SQLITE3_ASSOC))
{
...
}
Otros cambios requiere una cantidad similar de trabajo, así que esto no debería ser un proceso de por vida.
Yo, por supuesto, aconsejo encarecidamente a cualquier persona que avance y elija segunda opción. El progreso es en la mayoría de los casos la mejor de las dos opciones disponibles.
¡Muchas gracias! Creo que pude pasar la apertura del DB porque ahora los errores pertenecen a la consulta. ¡Ahora solo tengo que aprender la sintaxis y todo! ¡Gracias de nuevo! – Jarvis