我有两个这样的功能:
function MysqL_safe_query($format) {
$args = array_slice(func_get_args(),1);
$args = array_map('mysql_safe_string',$args);
$query = vsprintf($format,$args);
$result = MysqL_query($query);
if($result === false) echo '<div class="MysqL-error">',MysqL_error(),'<br/>',$query,'</div>';
return $result;
}
function MysqL_row_exists() {
$result = MysqL_safe_query(func_get_args());
return MysqL_num_rows($result) > 0;
}
问题是第二个函数将不起作用,因为它将args作为数组传递给第一个函数,当它期望它们作为不同的参数时.有没有办法解决这个问题,最好不要修改MysqL_safe_query?
如何使用:
$args = func_get_args();
call_user_func_array('MysqL_safe_query',$args);