2015-10-14 85 views
1

我想传递字段和表的名称作为php函数中的参数,以便我可以在我的查询中使用这些值。在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 Query中使用这两个变量(v1和v2)作为提交名称和表名。

+0

任[装订参数,您的发言(http://php.net/manual/en/mysqli-stmt.bind-param.php) –

+0

我想它as“”$ query1 = mysqli_query($ con,“SELECT MAX($ v1)FROM $ v2”); “”但这不起作用 –

+0

为什么,那么就做吧! ''SELECT MAX('。$ v1。')从'。$ v2'。当它“不起作用”时会发生什么? –

回答

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'); 
相关问题