我有两个这样的功能:
- 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);