用简单的术语解释PHP/MySQL
我有下面的代码,希望有人能澄清突出显示的/注释的/明显的行在做什么用简单的术语解释PHP/MySQL,php,mysql,Php,Mysql,我有下面的代码,希望有人能澄清突出显示的/注释的/明显的行在做什么 $result = mysqli_query($db, "SELECT * FROM `tblName` WHERE `id`='" . mysqli_real_escape_string($db, $_GET['id']) . "' LIMIT 0, 1"); $row = mysqli_fetch_assoc($result); foreach($row as $name => $value) { // THIS O
$result = mysqli_query($db, "SELECT * FROM `tblName` WHERE `id`='" . mysqli_real_escape_string($db, $_GET['id']) . "' LIMIT 0, 1");
$row = mysqli_fetch_assoc($result);
foreach($row as $name => $value) { // THIS ONE I NEED HELP WITH
...
}
它基本上是说“对于每个列…”-这就是我被卡住的地方这是一个
foreach
循环。所以它可以翻译成
对于$row
变量中的每个对象,将该对象分配给新变量$name
,其对应值为$value
这将循环N次,其中N是返回的行数。每次迭代循环时,
$name
和$value
变量都会重新初始化为新行的内容。这可不是简单的术语!假设我需要向我的母亲或孩子解释。。。。或者至少是一位了解数据库但不了解数据库的同事PHP@JeremyHarris这对OP毫无帮助。“这个问题涉及到它在引擎盖下是如何工作的”OP并不是在寻找你是对的,它基本上是说“在返回的数据行中,将每列作为$name,将其值作为$value”。请阅读。这总是有帮助的。@pee2pee我写了大量的答案,但问题已经结束了(公平地说,我开始了那次接近的投票)。也许会有帮助:只是想确保它包含列名,而不仅仅是记录。这就是添加=>
所做的。只要我知道这根本不是=>
所做的,$name
将在结果集中包含行的数字索引,$value
将包含行本身,我就会接受这个答案。行是否包含列名完全取决于调用哪个fetch
函数。在本例中,调用fetch\u assoc
将列名作为$row
数组中的键。