2010-10-20 17 views
3

J'ai quelques scripts PHP (version 5.1.6) et une base de données sqlite3. Pendant un certain temps, tout fonctionnait correctement, y compris les insertions, les mises à jour, les sélections et les suppressions.SQLite, PDO et PHP: Nouvelles insertions non sauvegardées

maintenant:

  • instructions Select fonctionnent toujours bien
  • insertions, suppressions et mises à jour toutes échouent sans erreur que je peux voir. Un fichier -journal est créé dans le même répertoire que la base de données, mais il disparaît par la suite. Le fichier sqlite reste inchangé.

Je ne peux pas vraiment comprendre ce qui, si quelque chose, a changé. Les autorisations sont les mêmes. J'ai pu ouvrir et enregistrer la base de données dans un autre programme, et l'ai remplacé par cette version, mais j'ai toujours le même problème. Les scripts étaient à l'origine tous en mode autocommit; L'utilisation de validations explicites ne résout pas non plus le problème.

Si je remplace le fichier de base de données par une ancienne sauvegarde, tout fonctionne correctement.

J'apprécierais des idées pour le dépannage. Je vous remercie!

+0

Comment savez-vous que vos insertions, suppressions et mises à jour échouent? Pouvez-vous exécuter le shell sqlite3 et voir ce qui se passe? Vous déclenchez-vous avant les insertions, les suppressions ou les mises à jour? – Benoit

+0

Je dirais que les permissions _file_ sur votre base de données sqlite sont probablement le problème. Est-ce que le serveur web/l'utilisateur PHP peuvent écrire dans le fichier? – Wrikken

Répondre

0

Regardez de plus près les autorisations. Assurez-vous que PHP/Apache possède des capacités de lecture/écriture et possède le dossier et le fichier de base de données SQLite.

+0

Merci - oui, les autorisations sont toujours les mêmes, avec un accès en lecture et en écriture. – sean