PHP函数将数据作为数组和显示来获取

时间:2013-08-24 15:19:27

标签: php function mysqli

我从其他人那里得到了这段代码来从数据库中收集数据,并以最简单,最安全的方式显示它。然而,它并没有真正起作用,我想知道为什么? 所以我的主要问题是如何让它发挥作用? 而2:n如何使其尽可能安全?

显示数据的代码:

<?php echo $webdata['web_name']; ?>

init.php中的代码:

$webdata = webdata('id', 'web_name');

功能代码:

function webdata($data) {
    $web_data = array();
    $func_num_args = func_num_args();
    $func_get_args = func_get_args();

    global $db_connect;
    if ($func_num_args > 1) {
        unset($func_get_args[0]);
        $fields = '`' . implode('`, `', $func_get_args) . '`';

        $query = "SELECT $fields FROM `settings` WHERE id = 1";
        $result = $db_connect->query($query);
        while ($web_data = $result->fetch_assoc()) {
            return ($web_data);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

  • 您的查询中没有data变量。你有一个webdata变量......

相反:

while ($webdata = $result->fetch_assoc()) { return ($data); }

使用:

while ($webdata = $result->fetch_assoc()) { return ($webdata); }
  • 你刚刚返回第一行,这是你想要的吗?
  • 您不使用$ data变量,它应该是什么?

这是安全的:你没有任何方法在查询中注入一些东西......