我的问题很简单。
我正在尝试制作一个脚本,将信息从 firebird 中的一个表转储到 SQLite 中的另一个表。
我能够完成所有过程,但我不能做的是创建一个持久的 sqlite 数据库。我在我的计算机(Ubuntu 13.04)上的“/var/www/PabloLab/experiments”中启动了这个脚本,但我不知道文件在哪里创建或是否创建。
完整脚本:
/*
* Preparing SQLite db
*/
$dbname = 'langs.sqlite';
$my_table = 'LANG';
$db = new SQLite3($dbname, 0666);
$query = "CREATE TABLE $my_table (ID INTEGER NOT NULL,
TXT VARCHAR,
LANG_ID NUMERIC NOT NULL)";
$success = $db->exec($query);
$stmt = "SELECT r.ID, r.TXT, r.LANG_ID
FROM VLANG r
WHERE r.ID in (1,3)";
$sql = EF_sql_connection($stmt, MY_FIREBIRD_DB); //It works perfect, no problem here.
while ($lang_info = ibase_fetch_assoc($sql)) {
$lang = utf8_encode($lang_info["TXT"]);
$id = utf8_encode($lang_info["ID"]);
$lang_id = utf8_encode($lang_info["LANG_ID"]);
$stmt_sqlite = "INSERT INTO $my_table VALUES ($id, '$lang', $lang_id)";
$success = $db->exec($stmt_sqlite);
}
$result = $db->query("SELECT * FROM $my_table");
while($row = $result->fetchArray()){
$id = $row["ID"];
$txt = $row["TXT"];
$lang_id = $row["LANG_ID"];
echo "$id - $txt - $lang_id<br>";
}
感谢您的帮助和时间。
问候。