[英]Mysql REGEX Matching query
What is the correct query to match string variable with MySQL field? 将字符串变量与MySQL字段匹配的正确查询是什么? For example:
例如:
$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
}
Any help will be appreciated. 任何帮助将不胜感激。
REGEX
isn't a valid MySQL operator, it's REGEXP
: REGEX
不是有效的MySQL运算符,它是REGEXP
:
SELECT surname FROM tblname WHERE LOWER(surname) REGEXP '$var_surname';
However, REGEXP
looks like it's overkill in this case -- the LIKE
operator or a simple equality test should work fine: 但是,在这种情况下,
REGEXP
看起来有点过分 - LIKE
运算符或简单的相等测试应该可以正常工作:
SELECT surname FROM tblname WHERE LOWER(surname) LIKE '$var_surname';
Or: 要么:
SELECT surname FROM tblname WHERE LOWER(surname) = '$var_surname';
And please sanitize $var_surname
before using it in your query -- use mysql_real_escape_string
or Prepared Statements ! 请在查询中使用它之前清理
$var_surname
- 使用mysql_real_escape_string
或Prepared Statements !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.