创建了Sqlite数据库文件但它仍然是空的despites查询被发出

时间:2015-09-09 14:28:42

标签: php pdo sqlite

我使用php5和PDO创建一个sqlite数据库。

这是php代码:

    <?php
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    try {
      $dbh = new PDO("sqlite:/srv/www/htdocs/lowi.sqlite");
    } catch (PDOException $e) {
      die ($e->getMessage());
    }
    $query = "CREATE TABLE setting (
      id INTEGER AUTOINCREMENT PRIMARY KEY, 
      title TEXT,
      subTitle TEXT,
      ssid TEXT,
      defaultUrl TEXT,
      imageBannerPath TEXT,
      imageProfilePath TEXT,
      loginAdmin TEXT,
      passwordAdmin TEXT,
      moderationActive TEXT CHECK(moderationActive IN ('T','F'))
    )";
    try {
      $dbh->exec($query);
    } catch (PDOException $e) {
      echo $e->getMessage();
    }
    echo "Table 'setting' created successfully<br/>";
    $dbh=NULL;
    ?>

它只输出:

Table 'setting' created successfully

我检查了权限,我的网络服务器在用户/组下运行:lighttpd(两者都是)

我创建sqlite数据库的目录具有以下权限:

drwxrwxr-x 4 root lighttpd 4096 Sep  9 16:15 /srv/www/htdocs/

并创建了数据库文件并具有这些持久性:

-rw------- 1 lighttpd lighttpd 0 Sep  9 15:48 /srv/www/htdocs/lowi.sqlite

问题是它仍然是一个空文件,当我尝试执行其他查询(如insert或select)时,它会执行它们而不会出错(比如create table)但这些查询没有效果。

注意:我知道我在安全方面没有做出好的选择(公共目录中的数据库文件......)没有必要告诉我这样的事情,我试图调试我改变了事物的损失,我只是将目前的情况与我在开发机器中的情况接近,以获得更好的答案。 :)

0 个答案:

没有答案