目前我正在使用:
$result = new SQLite3(sprintf("users/USERIDS_DB.sqlite"));
$numRows = $result->exec ("SELECT count(*) FROM USERIDS");
echo sprintf("the number of rows are: %d", $numRows);
Run Code Online (Sandbox Code Playgroud)
但结果是1,它应该是6(我用firefox sqlite3插件创建的行数)
有人可以帮忙吗?
Rob*_*mer 19
$db = new SQLite3('filename.db3');
$count = $db->querySingle("SELECT COUNT(*) as count FROM tablename");
echo $count;
Run Code Online (Sandbox Code Playgroud)
从文档:
public bool SQLite3 :: exec(string $ query)
对给定数据库执行无结果查询.
此方法返回布尔值,而不是结果集.当你转换true为一个整数时,它将成为1.
你应该用SQLite3::query().示例(未经测试):
$rows = $result->query("SELECT COUNT(*) as count FROM USERIDS");
$row = $rows->fetchArray();
$numRows = $row['count'];
Run Code Online (Sandbox Code Playgroud)
顺便说一下,命名SQLite3类的实例$result可能会产生误导(特别是在数据库环境中).我会称之为$db或$connection.
小智 5
$result = $db->query("SELECT * FROM db_name")
$row=$result->fetchArray(SQLITE3_ASSOC);
// check for empty result
if ($row != false) {
// do something here if record exists
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34638 次 |
| 最近记录: |