我在数据库中定位表,具有等级,年,描述,...作为列,并且存在多行...我应该将$positions array
返回到另一个php文件...我尝试过[ C0],但出现“未定义的偏移量:0”错误]
echo $positions[0]['rank'];
将echo语句移到while循环中。
function loadPos($pdo,$profile_id)
{
$stmt=$pdo->prepare('SELECT * FROM position WHERE profile_id=:prof ORDER BY rank');
$stmt->execute(array(':prof' => $profile_id ));
$positions=array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
$positions=$row;
}
echo $positions['rank'];
return $positions;
}
您现在不需要创建新变量。您可以使用$ row
while ($row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
$positions=$row;
echo $positions['rank'];
}
似乎您不了解什么是while语句。我将从学习基本流控制开始。
==更新==
下面的评论指出$ positions应该是可以返回的数组。因此:步骤1-将$ positions设置为数组。第2步-将每一行放置在数组中。第3步-返回数组。以下代码无需担心打印行。它仅关注于创建和返回数组的方法。
while ($row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
echo $row['rank'];
}
希望很明显$ positions被创建为一个空数组。每次通过while循环时,该行都会添加到数组中。 []表示“下一个索引”。最后,返回$ positions。