我创建了一个从mysql数据库读取数据的函数。
我想将数据放入数组,并在PHP函数之外读取它。
function showCategory($con) {
$sql = "SELECT * FROM kategorien";
$kategorien = array();
$result = $con->query($sql);
while($row = $result->fetch_assoc()) {
$kategorien[] = $row["kategorie"];
return $kategorien;
}
}
要从函数外部加载数据:
$kategorien = showCategory($con);
echo $kategorien['kategorie'][0];
它不起作用。怎么了?
答案 0 :(得分:2)
return $kategorien;
将退出循环和函数,因此请将其移至函数末尾而不是循环中。
function showCategory($con) {
$sql = "SELECT kategorie FROM kategorien";
$kategorien = array();
$result = $con->query($sql);
while($row = $result->fetch_assoc()) {
$kategorien[] = $row["kategorie"];
}
return $kategorien;
}
如果您只需要使用一些列名,那么也不必指定*。
使用...显示数据
$kategorien = showCategory($con);
print_r( $kategorien );
或使用foreach()
...
$kategorien = showCategory($con);
foreach ( $kategorien as $kat ) {
echo $kat.PHP_EOL;
}
答案 1 :(得分:0)
请改用此方法,因为返回$ kategorien将退出循环,因此它将仅运行一次。
function showCategory($con) {
$sql = "SELECT * FROM kategorien";
$kategorien = array();
$result = $con->query($sql);
while($row = $result->fetch_assoc()) {
$kategorien[] = $row["kategorie"];
}
return $kategorien;
}