返回不在我的PHP函数中工作

时间:2014-07-21 19:22:07

标签: php

我创建了这个没有转义的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];

    }
}

我有一个test.php文件,我使用该函数:

SelectQuery_NO_ESCAPE('ip', 'ip_address', 'ip', '1');
echo $select_row;

这可以工作并输出1。如果我尝试取出全局变量而只返回变量$row_value它就不起作用。

为什么会这样?

1 个答案:

答案 0 :(得分:4)

归还:

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');