当我编辑数据库的注册表时,网址为/edit/168
(例如)。但如果我将此网址更改为/edit/168'
或/edit/168=
,则会向我显示数据库错误。
如何在数据库中搜索之前验证id?
谢谢你:)答案 0 :(得分:0)
您可以使用preg_replace
删除任何非数字字符。
所以在你的行动中你会有类似的东西:
public function edit($id){
// remove the invalid characters
$item = preg_replace("/[^0-9]/", "", $id);
}
然后在sql查询中使用格式化的$item
代替$id