我正在尝试使用foreach
从关联数组中打印SQL查询的结果。我尝试了不同的方法,其中一个工作正常,而另一个给出了错误。
我特别想问的是为什么这部分$row[first_name]
给出了不同的结果。
这段代码可以工作:
<?php
include 'connect_db.php';
$stmt = $conn->query("SELECT people.first_name, people.last_name FROM people");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $row) {
echo "<form action='/test.php' method='post'>
<input type='text' name='first_name' value=$row[first_name]>
<input type='submit' value='Click'> <br>
</form>";
}
?>
但是下面的代码给出了一个错误:Notice: Use of undefined constant first_name - assumed 'first_name'
<?php
include 'connect_db.php';
$stmt = $conn->query("SELECT people.first_name, people.last_name FROM people");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $row) {
echo $row[first_name];
}
?>
很明显,我在第二个例子中错误地使用了$row[first_name]
,但我不知道是怎么回事。
发布于 2018-07-05 04:48:55
从MySQL返回的关联数组中的键是字符串-您需要用引号将它们引起来:
echo $row['first_name'];
# Here ---^----------^
https://stackoverflow.com/questions/51180567
复制相似问题