PHP SQLite JSON数据复制

我有以下PHP代码

$testMessage = "TESTMESSAGE";

$db = new sqlite3('messages.sq3');
$db->exec('CREATE TABLE messages(id INTEGER PRIMARY KEY, message CHAR(255));');
$db->exec("INSERT INTO messages (message) VALUES ('$testMessage');");

$results = $db->query('SELECT * FROM messages ORDER BY id DESC LIMIT 5');

while ($row = $results->fetchArray()) {
    print_r($row);
}

产生的print_r:

Array ( [0] => 1 [id] => 1 [1] => TESTMESSAGE [message] => TESTMESSAGE )

为什么要重复这些数据?这只是数组的显示方式还是真的有TESTMESSAGE字符串的两个副本?检查sqlite文件,我只看到一个实际存储在其中的文件.我正在尝试通过JSON序列化输出,并且此重复一直在进行序列化.

解决方法:

认设置是将具有数字键和字符串键的数据合并到同一数组中.

您需要使用$results-> fetchArray(sqlite3_NUM)或$results-> fetchArray(sqlite3_ASSOC)分别获取数字键和字符串键.认值为sqlite3_BOTH,我一直讨厌它.

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能