将多个查询作为一个查询调用


Call multiple queries as one

我对数据库中的单个表有两个查询,唯一的区别是限制。我喜欢输出,但我知道必须有更实用的方法来做到这一点。有人能提出什么建议吗?

$sql1 = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 20");
$count = mysql_num_rows($sql1);
if ($count > 0) {
    while($row = mysql_fetch_array($sql1)){ 
}
}
$sql2 = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 1");
$count = mysql_num_rows($sql2);
if ($count > 0) {
    while($row = mysql_fetch_array($sql2)){ 
}
}

创建一个函数并将限制作为参数传递:

function doQuery($limit = 1) {
    $sql = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT $limit");
    $count = mysql_num_rows($sql);
    if ($count > 0) {
        while($row = mysql_fetch_array($sql)){ 
        }
    }
};
doQuery(1);
doQuery(20);
$sql1 = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 20");
$count = mysql_num_rows($sql1);
if ($count > 0) {
    while($row = mysql_fetch_array($sql1)){
        //loop over all records...
    }
}
$count = mysql_num_rows($sql1);
if ($count > 0) {
    if($row = mysql_fetch_array($sql1)){ 
        //retrieve one record
    }
}