0

多亏了hakra,我想我应该在这里从我的原始问题创建一个规范问题。

转义用户输入以安全地与 MySQLLIKEREGEXP函数一起使用(以防止 SQL 注入和其他不希望的可能性)您认为这些解决方案是否足够?假设在以下示例中输入是单个单词。否则它可以很容易地被一个函数处理。

为了LIKE

$input = '__35%';
$inputModf = strtr($input,array('\\'=>'\\\\','%'=>'\\%','_'=>'\\_'));
$inputModf = '%' . [db escape $inputModf here] . '%';

查询就像... WHERE field LIKE '$inputModf'

为了REGEXP

$input = '$35.2';
$spaces = '[[:blank:]]|[[:punct:]]|[[:space:]]';
$inputModf = preg_quote($input);
$inputModf = '(^|'.$spaces.')'.[db escape $inputModf here].'($|'.$spaces.')';

查询就像... WHERE field REGEXP '$inputModf'

4

0 回答 0