在php中计算结果和读取行的更好方法

时间:2017-07-07 04:44:10

标签: php mysql

第一个,我目前的代码是

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读取了多少数据库,并且实际上并不确定哪一个更好。

或者还有其他更好的方法:
- 检查它有多少行 - 如果有

,则获取行

1 个答案:

答案 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.";
}
  

如果无法获得结果代码将打印其他部分。