php - 对使用 PHP 打印关联数组的结果感到困惑
问题描述
我正在尝试使用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]
在第二个例子中使用不正确,但我不知道怎么做。
解决方案
从 MySQL 返回的关联数组中的键是字符串 - 您需要引用它们:
echo $row['first_name'];
# Here ---^----------^
推荐阅读
- r - 将药物-基因相互作用列表转换为 R 中的相似矩阵
- angular - ng2-file-upload 和读取文件内容
- sql-server - SQL Server 平均计数
- java - 没有方法签名:groovy.sql.Sql.callWithAllRows() 适用于参数类型
- xcode - 在 10.13.6/Xcode 10 上构建 macOS 暗模式应用程序
- android - 更新 Firebase 控制台平台 SHA-1 密钥以进行发布
- javascript - 为什么它显示隐藏详细信息?
- angular - 通过其他组件 nativescript 注入函数动态
- amazon-web-services - 使用 AWS Cognito 进行 API 网关授权
- azure - Azure AD B2C 密码过期通知