搜索数据库,其中第一个字母等于数字或符号

时间:2012-12-03 22:50:06

标签: php mysql mysqli

所以我设置了查询以在表中搜索以特定字母开头的用户名。

我的查询是

if(isset($_POST['search']) || (isset($_GET['search']))){
if($_GET['search'] && !$_POST['search']){
if($_GET['search'] == "!"){
   $search = //What here for number and symbol check;
}
   else
   {
      $search = $_GET['search'];
   }
      $search = $_GET['search'];
}
elseif($_POST['search'] && !$_GET['search'])
{
   $search = $_POST['search'];
}

$stmt = $db->prepare("SELECT * FROM accounts WHERE username LIKE CONCAT(?, '%') OR id LIKE CONCAT('%', ?, '%') LIMIT $start, $limit");

它适用于所有字母az,但我还需要检查那些由于某种原因决定用数字或符号开始用户名的用户(客户端不希望我在注册时阻止特殊字符)所以怎么能我做了检查吗?

1 个答案:

答案 0 :(得分:1)

听起来你需要用mysql查看正则表达式。你需要搜索不是'alpha'的东西:[[:alpha:]] Alpha - 任何字母。相当于[a-z]和[A-Z] 请在此处查看此链接以获取更多帮助:http://www.techotopia.com/index.php/MySQL_Regular_Expression_Searches