清除字符串函数中使用的PHP全局变量


PHP global variable use in a sanitise string function

这是一个快速的。。。

我目前正在学习全局/静态/本地PHP变量的使用,我想澄清一下在这个函数中使用"全局"变量是否正确:

$mysqli = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
function sanitise($var) {
    global $mysqli;
    $var = strip_tags($var);
    $var = htmlentities($var, ENT_NOQUOTES);
    $var = stripslashes($var);
    return $mysqli->real_escape_string($var);
}

该函数将在许多PHP文件中使用。

非常感谢!!

以这种方式使用全局变量不是最佳实践,但这是正确的语法。

更好的方法是将mysqli作为参数传递:

$mysqli = new mysqli([..]);
function my_cool_function($mysqli, $var) {
  //do work
  return;
}
echo my_cool_function($mysqli, $var);