Return在我的PHP函数中不起作用

Return在我的PHP函数中不起作用,php,Php,我创建了这个select函数,没有转义,可以在数据不是来自用户的地方运行简单的查询 我的函数可以工作,我可以用global$var做我想要做的事情,但是当我试图返回值而不是使其成为一个全局变量时,它没有工作。我只是好奇为什么会这样 以下是我的功能: function SelectQuery_NO_ESCAPE($row, $table, $row, $value) { $Database = DatabaseConnection(); $sql_query = "SELE

我创建了这个select函数,没有转义,可以在数据不是来自用户的地方运行简单的查询

我的函数可以工作,我可以用global$var做我想要做的事情,但是当我试图返回值而不是使其成为一个全局变量时,它没有工作。我只是好奇为什么会这样

以下是我的功能:

    function SelectQuery_NO_ESCAPE($row, $table, $row, $value) {
    $Database = DatabaseConnection();
    $sql_query = "SELECT $row FROM $table WHERE $row = '$value'";
    $select_result = $Database['Connection']->query($sql_query) or die(mysqli_error($Database['Connection']));
    if ($select_row = $select_result->fetch_assoc()) {
        global $select_row;
        $select_row = $select_row[$row];

    }
}
SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
echo $select_row;
我有一个test.php文件,在其中我使用了以下函数:

    function SelectQuery_NO_ESCAPE($row, $table, $row, $value) {
    $Database = DatabaseConnection();
    $sql_query = "SELECT $row FROM $table WHERE $row = '$value'";
    $select_result = $Database['Connection']->query($sql_query) or die(mysqli_error($Database['Connection']));
    if ($select_row = $select_result->fetch_assoc()) {
        global $select_row;
        $select_row = $select_row[$row];

    }
}
SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
echo $select_row;
这起作用并输出1。如果我尝试取出全局变量,只返回变量$row_值,它就不起作用了

为什么会这样?

退回:

if ($select_row = $select_result->fetch_assoc()) {
    return $select_row[$row];
}
分配返回值:

$something = SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
echo $something;
//or
echo SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
退回:

if ($select_row = $select_result->fetch_assoc()) {
    return $select_row[$row];
}
分配返回值:

$something = SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
echo $something;
//or
echo SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');

函数中的返回值在哪里?在我看来,它不会返回任何东西。你的函数真的有两个不同的$row参数吗?因为你可能对函数的返回值什么都不做。回显选择查询。。。行。@MarkBaker糟糕,我打错了,不是那样的。函数的返回值在哪里?在我看来,它不会返回任何东西。你的函数真的有两个不同的$row参数吗?因为你可能对函数的返回值什么都不做。回显选择查询。。。会有用的。@MarkBaker糟糕透了,我打错了,这不是故意的。这就是为什么,谢谢。如果允许的话,我会在10分钟内接受。这就是为什么,谢谢。如果允许的话,我会在10分钟内接受。