我正在使用 SQLite3
和 PHP
创建一个小类,这意味着我不需要任何插件或其他类,只是简单的 SQLite3
和 PHP
。
目前我正在尝试从数据库中检索值,但我想检查是否有符合该条件的结果:
$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/