我已经知道使用fetch_array
,fetch_assoc
,fetch_row
,fetch_object
和fetch_all(MYSQLI_NUM or MYSQLI_ASSOC or MYSQLI_BOTH)
的内容和方法。
但我刚刚发现并尝试了以下代码对我有用,不使用任何fetch_ *对象。
$sqli = $db->query("SELECT * FROM `tblSample`;");
foreach($sqli as $out) {
echo "val1 => ", $out['0'], "<br />val2 => ", $out['1'], "<br />val3 => ", $out['2'];
}
正如您所看到的,我没有使用任何fetch_对象,出于某种原因,通过使用foreach loop
,我仍然可以获取结果查询。
我尝试使用while loop
与foreach loop
一起使用,但无济于事。
所以我只是想问,因为我知道其他一些专业开发人员可能已经遇到过这种方式。
是否推荐?,因为没有使用fetch_对象?谢谢
答案 0 :(得分:2)
Official document about onDestroy
这样做并没有什么不妥,但在几乎所有代码中我都会看到/写入提取模式。
答案 1 :(得分:0)
'query'和类似'execute'是与PDO(PHP数据对象)相关的方法,它提供了与数据库交互的方法(不仅是MySQL,还有SQL Server,Oracle,SQLite等其他人)因此它是个好主意要学习如何使用这些方法(查询,执行以及许多方法,请查看我们的PDO文档)。
关于PDO的好处是,如果你想用不同的数据库做另一个项目,那么与它的交互对你来说几乎是一样的,不仅如果你现有的项目被迁移到你需要的另一个数据库那么修改PDO对象中的连接字符串,你的代码是相同的(不是很好吗?)总之,如果你知道你只是在与MYSQL进行交互,那么使用MYSQL对象(MYSQLI_NUM或MYSQLI_ASSOC或MYSQLI_BOTH)没有任何问题数据库,但使用PDO可以提供更好的可扩展性。