未定义的变量,未定义的索引 - 未使用全局$ var解决

时间:2015-11-24 15:34:00

标签: php mysqli

我正在使用PHP函数,它使用一些不同的变量显示数据库的结果。

在PHP脚本中,我在声明函数时声明了变量,如下所示:

function printResults ($row, $result)

当我使用

require('includes/script.php'); 

printResults($row, $result);

我仍然收到错误说

  

PHP注意:未定义的变量:行

我尝试了其他建议,例如使用“global $ row”,但是这并没有解决问题,这是我第一次使用函数,所以它让我失望。

以下是具有以下功能的脚本:

$query = "SELECT title,description FROM mytable WHERE title LIKE '%$search%'";
$result = mysqli_query($mysqli, $query) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($mysqli), E_USER_ERROR);

function printResults ($row, $result) {
    if($result) {
        while($row = mysqli_fetch_assoc($result)) {
            echo '<div>'.$row['title'].'</div>';;   
        }
    }
}   

1 个答案:

答案 0 :(得分:0)

您不需要传递此$ row变量,它会在函数内定义。

$query = "SELECT title,description FROM mytable WHERE title LIKE '%$search%'";

$result = mysqli_query($mysqli, $query) or trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($mysqli), E_USER_ERROR);

function printResults ($result) {
    if($result) {
        while($row = mysqli_fetch_assoc($result)) {
            echo '<div>'.$row['title'].'</div>';;   
        }
    }
}   
printResults($result);