如何在函数内部使用类的方法(PHP)?

2 php oop function

我正在尝试使用新的PHP mysqli扩展.我有一个函数(safe())递归使用mysql_real_escape_string来使字符串安全.如何在此函数中使用我的mysqli连接来调用mysqli :: escape_string()函数?

例:

$db = new mysqli($host,$user,$password,$database_name);


function safe ($data) {
  if(!is_array($data)) {
     if(!get_magic_quotes_gpc()) {
       $data = **mysqli::escape_string($data)**
       return $data;
    }
  } else {
    return array_map('safe',$data);
  }
}
Run Code Online (Sandbox Code Playgroud)

我在safe()里面有mysqli :: escape_string()我怎么称呼它?在函数之外它将是$ db-> escape_string()但是我找不到一种方法来调用它.我已经尝试将$ db传递给函数,使$ db全局等.另一种方法是使用过程mysqli_escape_string()但是需要将mysqli链接资源显式传递给它,但我找不到办法访问.

iBi*_*kov 6

将您的DB对象传递给函数.

 function safe ($data, $db) {
  if(!is_array($data)) {
     if(!get_magic_quotes_gpc()) {
       $data = $db->escape_string($data);
    }
  } else {
    return array_map('safe',$data);
  }
}
Run Code Online (Sandbox Code Playgroud)