我有两个功能是这样的:通过所有参数给另一个函数
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;
}
的问题是,第二个功能将无法正常工作,因为它传递的参数传递给第一个为一个数组,当预期他们作为不同的参数。有没有什么办法可以解决这个问题,最好不要修改mysql_safe_query
?
http://uk.php.net/func_get_args说:“注意:因为此函数依赖于当前范围来确定参数详细信息,所以它不能用作函数参数。如果必须传递此值,则结果应该被分配给一个变量,并且该变量应该被传递。“ – VolkerK 2009-06-01 21:04:46