在php中使用foreach($ result as $ post),但在结果中返回null?

时间:2016-11-19 15:09:23

标签: php html mysql foreach

以下代码想要使用foreach($ result作为$ post)从mysql数据库获取数据,并以html输出,但它返回null,很多,需要你的帮助吗?

<?php
 $db = mysqli_connect('localhost','xxx','xxx','database')
 or die('Error connecting to MySQL server.');
 mysqli_query($db,"SET NAMES utf8");
?>

<html>
<head>
</head>
<body>
<h1>Demo </h1>

<?php

$query = "SELECT typename,typeurl FROM `posts_table`";
$result = mysqli_query($db, $query);

// output template: 
foreach($result as $post)
{
?>
    <div class="post">
        <p><?=$post['typename']?></p>
        <div class="info">
            posted at <?=$post['typeurl']?>, 
            <a href="./comment-url?id=<?=$post['typeurl']?>"><?=$post['typename']?> comment(s)</a>
        </div>
    </div>
<?
}

?>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

您正在尝试使用$query1进行$query

的查询
$query = "SELECT typename,typeurl FROM `posts_table`";
$result = mysqli_query($db, $query);

答案 1 :(得分:0)

你的问题中几乎没有错误。例如,您在变量$query中分配了查询,但在$query1函数中传递了mysqli_query

要获取结果,您需要先使用mysqli_fetch_array

$result = mysqli_query($db, $query);
$result = mysqli_fetch_array($result,MYSQLI_ASSOC);
foreach($result as $post)
{
  // rest of code
}