Je suis capable de récupérer des informations à partir d'une base de données SQLite en PHP, mais pas de lui écrire. Par exemple, ce code fonctionne parfaitement bien:Pourquoi utiliser SELECT mais pas INSERT sur une base de données SQLite en PHP?
$db = new PDO("sqlite:foo.db");
$rowCount = $db->query("SELECT COUNT(*) FROM tblname;")->fetchColumn(0);
echo $rowCount; // works as it should
Cependant, les résultats de l'extrait de code suivant dans un « incapable d'ouvrir le fichier de base de données » erreur:
$db = new PDO("sqlite:foo.db");
$db->exec("INSERT INTO tblname VALUES(NULL, 'val1', 'val2');") or die(print_r($db->errorInfo(), true));
Quand je réalise l'INSERT ci-dessus de la commande ligne plutôt que dans PHP, je reçois les résultats attendus (une nouvelle ligne à tblname):
$ sqlite3 foo.db
sqlite> INSERT INTO tblname VALUES(NULL, 'val1', 'val2');
Ceci est ma première fois à l'aide PDOs (ou SQLite pour cette matière) de sorte que toute aide serait grandement apprécia ted.
Est-ce que votre serveur Web (apache/php ou autre) a un accès en écriture à la base de données? –