我搜索并搜索过,无法找到我的问题的任何答案所以如果这是一个转贴新手,我很抱歉。
我在一个名为functions.php的单独文件中有这个功能
function get_all_posts(){
global $connection;
$q = "SELECT * FROM blog LIMIT 1";
$get_posts = mysqli_query($connection, $q);
if (!$get_posts){
die ('Query failed.');
}
return $get_posts;
}
在blog.php中调用函数
<div class="group">
<?php get_all_posts();
while ($row = mysqli_fetch_array($get_posts)){
?>
<h1><?php echo $row['title']; ?></h1>
<?php } ?>
</form>
</div>
但我一直有一个未定义的变量$get_posts
。
答案 0 :(得分:1)
您不捕获返回的值。例如你应该
$get_posts = get_all_posts();
如果未将函数的返回值赋给变量,则抛弃该返回值。所以你的查询基本没用。
答案 1 :(得分:1)
您必须将get_all_posts的结果分配给$ get_posts;
<?php $get_posts = get_all_posts();
while ($row = mysqli_fetch_array($get_posts)){
?>
<h1><?php echo $row['title']; ?></h1>
<?php } ?>
</form>
</div>
答案 2 :(得分:0)
将blog.php中的代码更改为以下内容:
<div class="group">
<?php
$get_posts = get_all_posts();
while ($row = mysqli_fetch_array($get_posts))
{
?>
<h1><?php echo $row['title']; ?></h1>
<?php
}
?>
</form>
</div>
您的函数返回一个值,但它不会直接传递它。你必须在$newvariable = function();
之类的变量中捕获它,然后你可以在任何你想要的地方使用$ newvariable。
答案 3 :(得分:0)
当然!为了不获取未定义的变量,在mysqli_fetch_array()
函数中使用它之前,必须为变量赋值,在这种情况下为$ get_posts。代码 Orangepill 建议肯定会有效。