第一个,我目前的代码是
d[with(d, ave(as.character(age), ID, FUN = function(x) length(unique(x)))>1),]
# ID age size
#1 a1 juvenile -1.4545407
#2 a2 juvenile -0.4695317
#3 a3 juvenile 0.2271316
#5 a1 juvenile 0.2961210
#6 a2 adult -0.8331993
#9 a1 adult -0.6924967
#10 a3 adult -0.4619550
如果结果给出1个或更多数据,那么我执行此查询以获取数据
$sql = "SELECT COUNT(id) AS total FROM mytable WHERE something = ".$likethis;
$query = mysqli_query($connection, $sql);
$result = mysqli_fetch_object($query);
第二个,我发现的另一种方法是使用此代码
$sql = "SELECT col1, col2, col3 FROM mytable WHERE something = ".$likethis;
然后如果给1或更多,我会获取数据。
现在在我脑海中,第一个是快速计算数据,然后只有结果才能完成。但需要连接数据库两次。 第二个是较慢的,因为需要读取所有数据,但只能连接到数据库一次。我不确定我的观点是否准确只是因为php读取了多少数据库,并且实际上并不确定哪一个更好。
或者还有其他更好的方法:
- 检查它有多少行
- 如果有
答案 0 :(得分:1)
您可以设置flag
以检查是否可以获取行/行。如果您无法从数据库flag
获取任何行,则为真。
例如
$query = mysqli_query($connection,"select * from `test`");
$flag = true;
while($rows = mysqli_fetch_array($query)){
$flag = false;
// Do stuff.
}
if($flag){
echo "No record found.";
}
如果无法获得结果代码将打印其他部分。