将字符串变量与MySQL字段匹配的正确查询是什么? 例如:
$var_surname = $_POST['surname'];
$var_surname = strtolower($var_surname);
SELECT surname FROM tblname WHERE LOWER(surname) REGEX $var_surname
..........
..........
if($check > 0)
{
Surname already exists
}
else
{
Successful
}
任何帮助将不胜感激。
答案 0 :(得分:1)
REGEX
不是有效的MySQL运算符,它是REGEXP
:
SELECT surname FROM tblname WHERE LOWER(surname) REGEXP '$var_surname';
但是,REGEXP
在这种情况下看起来有点过分 - LIKE
运算符或简单的相等测试应该可以正常工作:
SELECT surname FROM tblname WHERE LOWER(surname) LIKE '$var_surname';
或者:
SELECT surname FROM tblname WHERE LOWER(surname) = '$var_surname';
请在您的查询中使用之前清理$var_surname
- 使用mysql_real_escape_string
或Prepared Statements!
答案 1 :(得分:1)
我不明白,为什么你使用REGEX(顺便说一下应该是REGEXP)?只是做
"SELECT surname FROM tblname WHERE LOWER(surname) = '$var_surname'"