【问题标题】:How to return variable from a function stored in another php file? [duplicate]如何从存储在另一个 php 文件中的函数返回变量? [复制]
【发布时间】:2020-09-03 01:39:44
【问题描述】:

我想要做的是,在 crud.php 文件中创建一个函数,该函数将从数据库中获取数据。之后,我试图在 index.php 文件中调用该函数。

我收到此错误:

**注意:未定义变量:第 11 行 C:\xampp\htdocs\shop\index.php 中的数据

警告:在第 11 行的 C:\xampp\htdocs\shop\index.php 中为 foreach() 提供的参数无效**

crud.php 文件:

<?php 

function getResults($sql){

    $server = "localhost";
    $user   = "root";
    $pass   = "";
    $db     = "cms";

    $conn = mysqli_connect($server, $user, $pass, $db);
    if (!$conn) {
        die("connection Failed:".mysqli_connect_error()); 
    }

    $result = mysqli_query($conn,$sql);

    if (mysqli_num_rows($result)>0) {
        while ($row = mysqli_fetch_assoc($result)) {
            $data = $row;
        }
    }

    return $data;

    }

 ?>

index.php 文件:

<?php
include_once ('inc/crud.php'); 

$sql = "SELECT * from blog";

getResults($sql); 

foreach ($data as $x => $xvalue) {
    echo "Key: ". $x."<br>";
    echo "Value: ". $xvalue."<br>"; 

    }
 ?>

【问题讨论】:

    标签: php arrays mysqli


    【解决方案1】:

    因为$data是在函数内部声明的,所以它只存在于函数scope中。要在您的代码中获取$data 的值,您需要将函数的结果分配给一个变量,如下所示(index.php):

    <?php
    include_once ('inc/crud.php'); 
    
    $sql = "SELECT * from blog";
    
    $data = getResults($sql); 
    
    foreach ($data as $x => $xvalue) {
        echo "Key: ". $x."<br>";
        echo "Value: ". $xvalue."<br>"; 
    
        }
     ?>
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-28
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      • 2016-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多