我的同事要求我制作一个PHP函数来插入我们的 Web 应用程序,以处理无限量的嵌套(循环)查询,从而使我们的生活更加轻松,而不必担心丢失当前和/或以前的结果。
这是我几分钟后提出的代码,它似乎工作正常,但我仍然有这些问题:
- 我是在重新发明mysqli_prepare函数吗?
- 以这种方式处理这些嵌套查询是否明智?
- 使用以下方法有什么优点和缺点?
实际功能:
function qn($query) {
global $db;
$rand_var = 'r' . mktime() . mt_rand();
$$rand_var = $db->query($query);
return $$rand_var;
}
并在行动中:
if (($db instanceof mysqli) != true) {
$db = new mysqli(DB_ADDRESS, DB_USER, DB_PASS, DB_NAME);
}
$a = qn('SELECT DISTINCT ***');
while ($row_a = $a->fetch_assoc()) {
// do some stuff
$b = qn('SELECT ***' . $row_a['foo']);
while ($row_b = $b->fetch_assoc()) {
$c = qn('SELECT COUNT(id)' . $row_b['bar']);
// keep going ...
}
}
注意: SQL 查询是示例。