Php PDO : Sqlite ATTACH commande

Eléphant du PHP | 189 Messages

05 mai 2010, 22:07

Bonjour à tous,

J'essaye depuis deux heures d'attacher une base de donnée à une autre en utilisant PDO mais ça ne fonctionne pas.

Voiçi mon code :
try {
	$dbh = new PDO("sqlite:base1.sqlite");

	$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

	$dbh->exec("ATTACH DATABASE 'base2.sqlite' as base2");
	
	foreach($dbh->query("SELECT * FROM base2.sqlite_master WHERE type='table'") as $row) {
		 echo $row['name'].'<br/>';
	}

}
catch(PDOException $e) {
	echo $e->getMessage();
}
Je n'ai pas d'erreur mais ma requête ne retourne aucune table.. :-(
Si j'utilise ma première base (même en inversant) la requête fonctionne. Elle ne retourne rien que si j'essaye de la faire sur la base attachée.

Je ne trouve pas beaucoup d'information sur Internet :-(

Merci à vous pour votre aide

Eléphant du PHP | 189 Messages

05 mai 2010, 23:08

Même résultat en utilisant la class SQlite3 :
$sqlite = new SQLite3("base1.sqlite");

$result = $sqlite>exec("attach database 'base2.sqlite' as base2");
if ($result===false) exit($sqlite->lastErrorMsg()); 

$results = $sqlite->query("SELECT * from base2.sqlite_master WHERE type='table'");

$row = $results->fetchArray();
Et j'ai cette erreur :
Warning: SQLite3::query() [sqlite3.query]: Unable to prepare statement: 1, no such table: rpmfusion.sqlite_master in C:\Program Files\wamp\www\packages.php on line 9

Je ne comprend pas :-(

En ligne de commande avec sqlite3 ça passe sans problème.

Eléphant du PHP | 189 Messages

06 mai 2010, 11:34

Complément d'information :

Le même code sous le serveur linux fonctionne parfaitement..

Sous windows avec Wamp (php 5.3 et php_pdo_sqlite de chargé) ne marche pas...

Une idée ?

mchaz84
Invité n'ayant pas de compte PHPfrance

23 juin 2011, 10:51

Salut,

Je suis confronté au même problème sous wamp aussi (php 5.2)... as tu trouvé une solution?