Error en comando sqlite_open
2 seguidores
Hay un error que me esta volviendo loco. Tengo una pagina totalmente funcional.
Pero cuando abro una base de datos para hacer consultas
$bd = sqlite_open("basedatos.db");
Pruebo la pagina y se me queda toda en blanco ¿sabeis porque me pasa esto?
Aunque la cierre despues con sqlite_close($bd); sigue pasando lo mismo
Usuario desconocido
Derus:
https://www.domestika.org/foros/viewtopic.php?t=25506
Descripción detallada de los títulos
Por una pura cuestión de 'usabilidad', es muy práctico poner títulos realmente identificativos en los temas. Nos referimos a evitar posts del estilo de 'Una ayuda, por favor'.
Sería algo realmente útil sobre todo debido a la enorme cantidad de mensajes nuevos que se publican a diario.
derus
¿asi mejor?
Usuario desconocido
Derus
¿asi mejor?
Ni idea, pero mejor sí que está. No tengo ni idea de programación.
dagi3d
¿tienes activados los errores de php? ¿el log de apache te dice algo?
derus
dagi3d, ¿los errores de php estan activados por defecto? Porque sino supongo que no los tengo...
el caso es que no se me muestra nada en la pagina.
Y he vuelto a probar en un archivo mas simple, lo he llamado a.php
<code>$bd = sqlite_open("base.db");
$creatabla = "CREATE TABLE Datos (id INTEGER PRIMARY KEY, nombreprop CHAR (255) NOT NULL)";
INSERT INTO Datos (nombreprop) VALUES (\"Raul\")";
sqlite_query($bd, $creatabla);
$muestratabla = sqlite_query($bd, "SELECT * FROM Datos");
//Si no existen datos:
if (!$muestratabla) {
echo "No se puede mostrar la tabla";
}
else {
//si existen datos los muestra
while ($fila = sqlite_fetch_array($muestratabla,SQLITE_ASSOC)){
foreach ($fila as $campo => $valor){
echo "<br>$campo: $valor<br>";
}
}
}</code>
derus
Incluso este codigo tan sencillo tampoco funciona para borrar una tabla creada.
<code>{?php
$bd = sqlite_open("base.db");
sqlite_query($bd , "Drop TABLE Datos;");
echo "Tabla Datos eliminada";
?}</code>
Pero aver estos codigos los programo con el Zend Development y hago la prueba de debug y me da todo correcto, me crea tablas, inserta registros, me las borra y todo perfecto, pero a la hora de abrir un fucking navegador no me muestra naaadaaa
me desessperoo
:(
dagi3d
si no me equivoco, por defecto no se muestran los errores(aunque puede que dependa del fichero inicial que cojas, ya que suelen venir dos). busca en tu php.ini la opción display_errors y asegúrate que está activada
derus
Muchas gracias Dagi3d, he avanzado. Con el display_errors activado me muestra el problema:
Fatal error: Call to undefined function sqlite_open() in C:\SERVIDOR\Inicio\a.php on line 3
Pero sigo sin entender que es lo que pasa. Haciendo un phpinfo() me pone que el sqlite esta enable y todas las consultas e inserciones a bases de datos me funcionan correctamente en el programa de diseño.
¿Porque en el navegador me dice que la funcion no esta definida?
si lo hago con el api orientado a objetos me da el error:
Fatal error: Class 'SQLiteDatabase' not found in C:\SERVIDOR\Inicio\a.php on line 3
derus
Resuelto.... parece ser que para funcionar con una version sqlite 3 o superior necesitas tener activos en php.ini los siguientes .dlls:
php_sqlite.dll
php_pdo_sqlite.dll
php_pdo.dll (Este ultimo es el que me faltaba)
Te debo una Dagi, sin tu ayuda no lo habria sacado.
Muchas gracias