此代码打印出列名列表。但我希望它能够用UserName
JSmith打印出LoginName
表中存储的信息。
$loginname = "JSmith";
$stmt = $dbh->prepare("SELECT * FROM UserName WHERE LoginName=:login_name");
$stmt->bindValue(":login_name", $login_name, PDO::PARAM_STR);
$stmt->execute();
echo "<table><tr>";
$result = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($result);
foreach ($result as $key => $val){
echo "<th>" . $key . "</th>";
}
echo "</tr>";
echo "</table>";
为什么不返回带有用户名的行?看echo gettype($result)
告诉我他们是字符串和整数;不像每个返回的数组本身就是一个数组。我确信这是一件简单的事情,但任何帮助都表示赞赏。谢谢!
答案 0 :(得分:1)
您正在打印密钥,而不是值。键是列名,值是相应的列值。
print_r($result)
显示$stmt->fetch()
返回一个包含您期望信息的数组,相应的HTML根本不反映。
http://php.net/manual/en/pdostatement.fetch.php#example-1018
让我们解决它。
$result = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($result);
foreach ($result as $key => $val){
echo "<th>" . $key . "</th>";
echo "<td>" . $val . "</td>";
}
echo "</tr>";
echo "</table>";