php - 如何使用 PHP 和 SQLite 3 检查 select 查询是否返回值或为空

标签 php sqlite

我正在使用 SQLite3PHP 创建一个小类,这意味着我不需要任何插件或其他类,只是简单的 SQLite3PHP

目前我正在尝试从数据库中检索值,但我想检查是否有符合该条件的结果:

$select = $db->query("从 View 中选择 * WHERE 地址 = '$ip' AND 页 = ''");

经过一番搜索,我找不到任何具体内容,但我想我错过了。

我首先尝试:

   if($select){
        // result returned
   }else{
        // no results
   }

然后这个解决方案起作用了(之前的解决方案总是失败):

while($row = $select->fetchArray(SQLITE3_ASSOC) ){
    $exists = TRUE;
    break;
}

if($exists == TRUE){
    // result returned
}else{
    // no results
}

但这似乎很棘手......有没有办法检查选择查询是否返回某些内容或什么都不返回?

最佳答案

您可以在“运行时”中简单地检查它:

$emptyArr  = array();
$filledArr = array(1,2,3,4,5);

if ($emptyArr) {
    echo 'Empty array is not empty!';
}
if (!$filledArr) {
    echo 'Filled array is empty!';
}

因为这个:http://php.net/manual/ru/sqlite3result.fetcharray.php 将返回填充数组false。那么这是相等的:

$arr = array();
var_dump((false == $arr)); // true

特别适合所有晕眩者!令人难以置信的、甜蜜的、蜂蜜的解决方案:

if ($res = $select->fetchArray(SQLITE3_ASSOC)) {
    foreach ($res as $item) {
        // output
    }
} else {
    // nothing
}

关于php - 如何使用 PHP 和 SQLite 3 检查 select 查询是否返回值或为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29126422/

相关文章:

sql - sqlite 也可以是内存数据库吗?

php - 为什么我的 PHP 查询在页面加载时执行两次?

每个文件的 PHP 复制 + 覆盖对话框

java - 尝试从 sqlite 数据库填充 listview

Android SQLite通配符选择字符模式

objective-c - 如何使用日期和子字符串优化sqlite查询?

java - SQL 将列的每个值与另一个表中行的所有值进行比较

php - 如何分解并找到 XYZ 坐标的平均值

php - 将复选框值发布到 php 文件

php - SQL插入多行,foreach