我有一个将代码插入数据库的系统,例如AREF0OGS将是一个代码。
我遇到的问题是,当代码分发时,0和O之间的差异是难以辨认的,所以我需要一种方法,当前系统可以处理0和O相同(只要它在同一个字符串的一部分)。
这就是我所拥有的:
$code = mysql_real_escape_string($_POST['code']);
$userid = mysql_real_escape_string($_POST['userid']);
$resultcode = mysql_query('select * from xxxxxx where code = "'. $code .'"' ) or die(mysql_error());
我有办法对待0和O是一样的吗?在PHP还是MySQL?
由于
答案 0 :(得分:1)
我认为您最好的选择是在您进行查询之前,您可以将其替换为另一个。这可以在MySQL
中完成select * from table where code=replace($code, 'O', '0')
或者在PHP中
$code = str_replace('O', '0', $code);
答案 1 :(得分:0)
只需将O字母替换为0位数(或其他方式)。
$code = mysql_real_escape_string($_POST['code']); $code =
str_replace('0', '0', $code); $userid =
mysql_real_escape_string($_POST['userid']);
$resultcode = mysql_query('select * from xxxxxx where code = "'. $code .'"' ) or die(mysql_error());