我有兩個功能是這樣的:通過所有參數給另一個函數
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