在php函数中传递查询的字段名称和表名?

时间:2015-10-14 13:00:52

标签: php mysql

我想在php函数中将字段和表的名称作为参数传递,以便我可以在查询中使用这些值。

function finder($v1, $v2){
        $mid=0; $nid=-5; $v11='go';
        include'connect.php';
        $query1=mysqli_query($con, "SELECT MAX(id) FROM users_allow");
        WHILE($row=mysqli_fetch_array($query1))
        {
            $mid = $row['0'];
        }
}
finder('id', 'users_allow');

如何更改查询以采用字段名称和传递给函数的参数中的表。我在查询中单引号尝试了v1,v2但是没有用,问题仍然是如何在MySQL查询中将这两个变量(v1和v2)用作文件名和表名。

1 个答案:

答案 0 :(得分:1)

您可以使用以下任意一种

function finder($v1, $v2){
        $mid=0; $nid=-5; $v11='go';
        include'connect.php';
        //way one:
        $query1=mysqli_query($con, sprintf("SELECT MAX(%d) FROM %s",$v1,$v2));
        //way two: this will only work with the string inside ""
        $query1=mysqli_query($con, "SELECT MAX({v1}) FROM {$v2}");
        WHILE($row=mysqli_fetch_array($query1))
        {
            $mid = $row['0'];
        }
}
finder('id', 'users_allow');