我想创建一个关卡系统的清单,现在我尝试选择sqlitedb points
,userName
和lvl
的三列。现在,我想生成按points
排序的这些列的排名。
在我的nodejs脚本(带有更好的sqlite3)和Visual Studio Code的测试插件中,以下语法完全可以正常工作,但在php中出现以下错误:Warning: SQLite3::query(): Unable to prepare statement: 17, near "(": syntax error in /var/www/html/req/load.php on line 10
这是我的sqlite语法:SELECT
个积分,
用户名,
lvl , ROW_NUMBER() OVER (ORDER BY
个积分DESC) AS
排名FROM
帐户LIMIT 10;
< / p>
//code snip from php
$db = new SQLite3('db/stats.db');
$result = $db->query('SELECT `points`, `userName`, `lvl`, ROW_NUMBER() OVER (ORDER BY `points` DESC) AS `rank` FROM `accounts` LIMIT 10;');
while ($row = $result->fetchArray()) {
echo var_dump($row);
}
我不知道为什么SELECT
指向,
用户名,
lvl FROM
帐户LIMIT 10;
可以正常工作。
是否有要解锁或安装的扩展程序?
感谢您的帮助:D
〜Player_Schark
答案 0 :(得分:0)
好的,我解决了这个问题。
问题是,默认的debian软件包sqlite3在版本3.16.X
上,但是自版本3.25.0
起,窗口功能仍受支持。
因此,我将deb http://deb.debian.org/debian stretch-backports main
添加到了sources.list文件(/etc/apt/sources.list
)https://backports.debian.org/Instructions/
之后,我从https://packages.qa.debian.org/s/sqlite3.html的反向端口安装了软件包
sudo apt-get -t stretch-backports install sqlite3
我重新启动了apache2服务器,并且可以正常工作! :D