Can';不要让静态函数在php中工作
因此,我不想创建此函数:Can';不要让静态函数在php中工作,php,Php,因此,我不想创建此函数: public static function formclean($string) { htmlentities(strip_tags(trim($string))); return $string; } 其中字符串为MySQL数据库条目做好准备。但是,当我调用我的函数时,我: $class->string = Class::formclean($_POST['string']); 它不会返回准备好的字符串。当我写下一段代码时,它确实起作用了
public static function formclean($string) {
htmlentities(strip_tags(trim($string)));
return $string;
}
其中字符串为MySQL数据库条目做好准备。但是,当我调用我的函数时,我:
$class->string = Class::formclean($_POST['string']);
它不会返回准备好的字符串。当我写下一段代码时,它确实起作用了
$class->string = htmlentities(strip_tags(trim($_POST['string'])));
我做错了什么?您忘记将
htmlentities()的返回值捕获到变量中:
public static function formclean($string) {
$string = htmlentities(strip_tags(trim($string)));
return $string;
}
或者,简而言之,直接返回该输出:
public static function formclean($string) {
return htmlentities(strip_tags(trim($string)));
}
您忘记将htmlentities()
的返回值捕获到变量中:
public static function formclean($string) {
$string = htmlentities(strip_tags(trim($string)));
return $string;
}
或者,简而言之,直接返回该输出:
public static function formclean($string) {
return htmlentities(strip_tags(trim($string)));
}
您的问题与static
关键字无关
您假设,$string
由修改,但该函数不通过引用接收参数:它无法修改原始值
字符串(字符串$string[,int$flags=ENT_COMPAT | ENT_HTML401[,字符串$encoding='UTF-8'[,bool$double_encode=true]])
通过引用接收参数的函数将具有和符号,例如:
bool排序(数组和$array[,int$sort\u flags=sort\u REGULAR])
strip_tags()
与数据库或验证无关。这只是破坏用户数据的一种方式。关键是使用数据库库功能注入参数(即准备好的语句)static
关键字无关$string
由修改,但该函数不通过引用接收参数:它无法修改原始值
字符串(字符串$string[,int$flags=ENT_COMPAT | ENT_HTML401[,字符串$encoding='UTF-8'[,bool$double_encode=true]])
通过引用接收参数的函数将具有和符号,例如:
bool排序(数组和$array[,int$sort\u flags=sort\u REGULAR])
strip\u标记()
与数据库或验证无关。这只是破坏用户数据的一种方式。关键是使用数据库库功能注入参数(即准备好的语句)您正在该函数内进行操作,但返回的是未经处理的版本您正在该函数内进行操作,但返回的是未经处理的版本请参见。我会接受你的建议。谢谢回复!不客气。我厌倦了在编程网站上发表评论,只是为了发现我的代码在我看到的第一个
之后就消失了。我会接受你的建议。谢谢回复!不客气。我厌倦了在编程网站上发表评论,只是为了发现我的代码在第一个