我构建了一个允许我做的类:
$db->query($query);
它工作得很好,尽管如果我想这样做:
$db->query($query);
while($row = $db->fetch_assoc()){
$db->query($anotherquery);
echo $db->result();
}
它“打断”了类。我不想经常不得不重新声明我的类(例如:$seconddb = new database()),有没有办法解决这个问题?我希望能够在 $db 中重用 $db,而不覆盖“外部”db。目前我正在创建一个数据数组(来自 db->fetch_assoc() 然后执行 foreach 然后在其中执行 db 调用:
$db->query('SELECT * FROM table');
while($row = $db->fetch_assoc()){
$arr[] = $row;
}
foreach($arr as $a){
$db->query(); // query and processing here
}
这是最好的方法还是我错过了显而易见的方法?我是否应该考虑将连接链接 ID 与数据库连接一起传递?
最佳答案
让 $db->query()
返回一个“查询”对象,然后您可以迭代该对象以获得查询结果。
关于PHP:重用数据库类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2398548/