Php PDO : Sqlite ATTACH commande

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Php PDO : Sqlite ATTACH commande

Re: Php PDO : Sqlite ATTACH commande

par mchaz84 » 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?

Re: Php PDO : Sqlite ATTACH commande

par Number » 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 ?

Re: Php PDO : Sqlite ATTACH commande

par Number » 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.

Php PDO : Sqlite ATTACH commande

par Number » 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