Bonjour les amis,

Je souhaite utiliser PDO et SQlite 3 dans le même script.

J'ai écrit ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$dbName  = 'db.sqlite3';
$dbTable = 'users';
 
// Lecture du numéro du dernier enregistrement de la table "Users" (marche pas avec SQLite 3)
try
{
	$bh = new PDO('sqlite:db.sqlite3');		//ouverture de la base via PDO
}
catch (PDOException $e)
{
	echo "Erreur à l'ouverture de la base PDO : " . $e->getMessage();
}
$query = "SELECT Count(*) FROM $dbTable";
$result = $bh->query($query);
$nrOfRows = $result->fetch();
$iRec = $nrOfRows[0] + 1;
$bh = null;							//fermeture de la base "PDO"
 
// Ouverture de la base SQLite3
$base = new SQLite3($dbName, 0666);
if (!$base)
{
	$errorNr   = $base->lastErrorCode();
	$errorText = $base->lastErrorMsg();
	echo "Erreur $errorNr à l'ouverture de la base : $errorText<br>";
	exit(1);
}
$query = "INSERT INTO $dbTable (ID,lastName) VALUES ('$iRec','$lastName'";
$result = $base->query($query);
if (!$result)
{
	$errorNr   = $base->lastErrorCode();
	$errorText = $base->lastErrorMsg();
	echo "Erreur $errorNr au QUERY : $errorText<br>";
	exit(1);
}
../..
et je reçois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Warning: SQLite3::query() [sqlite3.query]: Unable to execute statement: database is locked in C:\wamp\www\users_create_2.php on line 29
Call Stack
#	Time	Memory	Function	Location
1	0.0051	405712	{main}( )	..\pcaweb_users_create_2.php:0
2	2.0057	409240	SQLite3->query( )	..\pcaweb_users_create_2.php:29
Erreur 5 au QUERY : database is locked
J'en conclus que PDO n'a pas unlocké ma base (car si je commente le code PDO, "ça marche").

Est-ce que quelqu'un ici saurait comment faire, svp ?
Merci.