Base de données verrouillée lors de l'accès à partir d'un script PHP

Je suis en train d'écrire une application Android qui communique avec un PHP backend. Le backend db SQLite 3. Le problème est que j'obtiens cette erreur par intermittence PHP Warning: SQLite3::prepare(): Unable to prepare statement: 5, database is locked. Je vais ouvrir une connexion à la base de données dans chaque fichier PHP et de le fermer lorsque le script se termine. Je pense que le problème est que l'un script verrouillé le fichier de base de données lors de l'écriture et le second script a été d'essayer d'y accéder, ce qui a échoué. Une façon d'éviter cela serait de partager une connexion entre tous les scripts php. Je me demandais si il n'y a aucun autre moyen d'éviter cela?

Edit:
C'est le premier fichier:

<?php
$first = SQLite3::escapeString($_GET['first']);
$last = SQLite3::escapeString($_GET['last']);
$user = SQLite3::escapeString($_GET['user']);
$db = new SQLite3("database.db");
$insert = $db->prepare('INSERT INTO users VALUES(NULL,:user,:first,:last, 0 ,datetime())');
$insert->bindParam(':user', $user, SQLITE3_TEXT);
$insert->bindParam(':first', $first, SQLITE3_TEXT);
$insert->bindParam(':last', $last, SQLITE3_TEXT);
$insert->execute();
?>

Ici est le deuxième fichier:

<?php
$user = SQLite3::escapeString($_GET['user']);
$db = new SQLite3("database.db");
$checkquery = $db->prepare('SELECT allowed FROM users WHERE username=:user');
$checkquery->bindParam(':user', $user, SQLITE3_TEXT);
$results = $checkquery->execute();
$row = $results->fetchArray(SQLITE3_ASSOC);
print(json_encode($row['allowed']));
?>
  • Tout d'abord partager le Code
  • Ajout de code et plus de description