使用
显示数据库中的所有行时出现问题foreach($resut as $row) { echo $row['naam']; }
它只显示1行,而有2行。
我该如何解决这个问题?
代码:
<?php
include('db/configuratie.php');
$key = $_GET['key'];
$validkey = array("Test123");
if (empty($key)){
die('Geen toengansleutel opgegeven');
}
if (in_array($_GET['key'], $validkey)){
$getrow = $database -> prepare("SELECT * FROM `contact`");
$getrow -> execute();
$result = $getrow -> fetchAll();
foreach($result as $row){
$naam = $row['naam'];
}
echo $naam;
}
else{
die('Ongeldige toengangsleutel opgegeven.');
//sla deze pogin op?
}
?>
答案 0 :(得分:2)
您在每个循环中覆盖$naam
。
要立即回复它,您可以使用:
foreach($result as $row){
$naam = $row['naam'];
echo $naam;
}
如果你只想回复naam而不将其保存到变量中,你可以这样做:
echo $row['naam'];
作为旁注,你的意思是&#34; toegangsleutel&#34;在die
声明中?
答案 1 :(得分:1)
您要覆盖每行$naam
变量,因此echo
只是最后一行。
foreach($result as $row){
$naam = $row['naam'];
echo $naam;
}
或:
$naam = [] ;
foreach($result as $row){
$naam[] = $row['naam'];
}
print_r($naam);
答案 2 :(得分:0)
您在循环后打印$naam;
。你应该把它放在循环中。如下。
foreach($result as $row){
$naam = $row['naam'];
echo $naam;
}
答案 3 :(得分:0)
你的echo $ naam应该在foreach循环中。
类似
<?php
include('db/configuratie.php');
$key = $_GET['key'];
$validkey = array("Test123");
if (empty($key)){
die('Geen toengansleutel opgegeven');
}
if (in_array($_GET['key'], $validkey)){
$getrow = $database -> prepare("SELECT * FROM `contact`");
$getrow -> execute();
$result = $getrow -> fetchAll();
foreach($result as $row){
$naam = $row['naam'];
echo $naam;
}
}
else{
die('Ongeldige toengangsleutel opgegeven.');
//sla deze pogin op?
}
?>
或者
foreach($result as $row){
echo $row['naam'];
}
为什么要将它分配给变量?也许你需要它在我认为的其他地方