防止在php中重复输入

时间:2013-12-10 04:55:04

标签: php

我想防止重复输入。当我输入已存在的相同名称时它会起作用但如果我将其更改为小写字母则不起作用。例如已经存在的数据是:Developer。如果我输入Developer它给出的消息已经存在,但是我进入开发者它会插入到数据库中。

我的代码如下:

  function insert_skills()
  {
      extract($_POST);
      $user_id = $_SESSION['user_id'];
      $Qry = mysql_query("select `role_id` from `tbl_job_role` where`industry_id`='$industry_id' AND `funarea_id`='$funarea_id' AND `role_name`='$job_role'") or die(mysql_error());
      if(mysql_num_rows($Qry)>0)
      {
           echo "Already Exist!";
      }
      else
      {
              mysql_query("insert into `tbl_job_role`(`industry_id`,`funarea_id`,`role_name`,`created_by`,`created_on`) values('$industry_id','$funarea_id','$job_role','$user_id',NOW())") or die(mysql_error());
              setcookie("msg","Successfully Inserted.",time()+5);
       }
    }

3 个答案:

答案 0 :(得分:1)

嗨使用LOWER功能

LOWER(`Value`) = LOWER("value")

像这样的东西

"select `role_id` from `tbl_job_role` where`industry_id`='$industry_id' AND `funarea_id`='$funarea_id' AND LOWER(`role_name`) = LOWER('$job_role')"

答案 1 :(得分:0)

最好使用LIKE

$Qry = mysql_query("select `role_id` from `tbl_job_role`
                    where`industry_id`='$industry_id' 
                       AND `funarea_id`='$funarea_id' 
                       AND `role_name` LIKE '$job_role'") or die(mysql_error());

答案 2 :(得分:0)

在查询中使用iLIKE。它看起来像

$Qry = mysql_query("select `role_id` from `tbl_job_role` where`industry_id`='$industry_id' AND `funarea_id`='$funarea_id' AND `role_name` iLIKE '$job_role'") or die(mysql_error());

如果它能解决您的问题,请将其标记为答案。