Errore SQLite: file is encrypted or is not a database

di Anonimizzato14920 il
8 risposte
Ciao a tutti,
ho un problema nell'effettuare una insert con sqlite, in pratica ricevo questo errore:
"Errore SQLite: file is encrypted or is not a database"

non capisco il motivo il modo in cui apro la connessione al db è uguale a quello che ho scritto in un'altra pagina dove eseguo delle select che funzionano bene. Questo è il mio codice:


Codice PHP:
$db = sqlite_open("App_Data/comsubin.db", 0666, $sqlite_error);

if(!$db) {
die("Errore SQLite: ".$sqlite_error);
}   
   $nick = htmlspecialchars($_POST['nick']);
$immagine = htmlspecialchars($_POST['immagine']);
$punti = (int)$_POST['punti'];
$id_obiettivo = (int)$_POST['id_ob'];
   
echo $nick;
echo $immagine;
echo $punti;
echo $id_obiettivo;

   $sql = "INSERT INTO partecipante (nick, immagine, punti, id_obiettivo) VALUES ('$nick', '$immagine', '$punti', '$id_obiettivo')";
   
$ok = sqlite_exec($db, $sql);
  
 if(!$ok) die("Query di insert non eseguita!");
   
sqlite_close($db); 
Qualcuno può darmi qualche dritta e capire dove sbaglio?

8 Risposte

  • Mmmm hai selezionato il db?
  • Ciao!

    si qui:

    $db = sqlite_open("App_Data/comsubin.db", 0666, $sqlite_error);
  • Perchè da l'errore mi fa pensare a una mancata lettura del DB, il db funziona non è danneggiato? ora appena ho due minuti esamino il codice
  • Beh in un'altra pagina eseguo tranquillamente delle SELECT e funziona, non riesco a capire... forse ho sbagliato proprio la creazione del db... ho usato sqlite manager di firefox
  • In che senso su un'altra pagina? teoricamente il codice dove lo esegui esegui è uguale per tutte le pagine se è sempre lo stesso codice e db, prova a ricreare il DB direttamente con php magari ti crei una classe che verifica l'esistenza del db e se non c'è lo crei
    ecco una mini guida che ti ho trovato http://tech.pro/tutorial/848/php-tutorial-creating-and-modifying-sqlite-databases
  • Mi riferivo alla tua domanda sulla funzionalità del db, lo richiamo in un'altra pagina php dove eseguo delle query di select e funziona tutto, in questa pagina che ho descritto qui invece dove devo inserire una insert ho questo errore
  • Mm un'altra bella domanda potrebbe essere, l'esecuzione del codice avviene nel medesimo server con la stessa versione di php?
    Perche se hai php5 devi usare una funzione diversa PDO
  • Sempre stesso server, del PDO sono all'oscuro ma quello che non riesco a capire è se riesco a recuperare i valori nell'altra query perchè non riesco ad inserirli? Se non ho capito male se il problema è l'utlizzo del PDO non dovrebbe mai funzionarmi la comunicazione con il db fatta nel modo che ho riportato sopra
Devi accedere o registrarti per scrivere nel forum
8 risposte