这似乎是一个非常简单的问题,但它让我感到困惑大声笑.我正在尝试打印从数据库收到的行.我想将行存储在数组中,然后使用for循环打印它们.我知道查询有效,但是当我尝试打印数组元素时,它只打印单词数组.我厌倦了使用foreach循环和简单的for循环.如果有人能指出我正确的方向将是一个救生员.
打印Php代码
<?php
$type = "FREE";
$free = getTerms($type);
echo "<p>";
for($j = 0; $j < count($free); $j++)
{
echo "start".$free[$j]."end";
}
echo "</p>";
?>
Run Code Online (Sandbox Code Playgroud)
从数据库中获取行
function getTerms($type)
{
$terms = array();
$connection = mysql_open();
$query = "select terms from terms_and_con where accountType='$type' && currentTerms='YES'";
$results = mysql_query($query, $connection) or show_error("signUp.php", "", "");
while($row = mysql_fetch_array($results))
{
$terms[] = $row;
}
mysql_close($connection) or show_error("signUp.php", "", "");
return $terms;
}
Run Code Online (Sandbox Code Playgroud)
$free数组中的每个条目本身就是一个数组(from $row).
尝试
echo 'start', $free[$j]['terms'], 'end';
Run Code Online (Sandbox Code Playgroud)
或者,您可能会发现一个foreach语义更合适的循环
foreach ($free as $row) {
echo 'start', $row['terms'], 'end';
}
Run Code Online (Sandbox Code Playgroud)
编辑:我建议使用mysql_fetch_assoc()而不是mysql_fetch_array()如果你只是使用关联条目$row.