Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中使用子字符串并使数据唯一_Php_Mysql - Fatal编程技术网

如何在PHP中使用子字符串并使数据唯一

如何在PHP中使用子字符串并使数据唯一,php,mysql,Php,Mysql,我试图在我的PHP代码中做到这一点,问题是我还没有弄明白。我想使前3个字符唯一,但仍然保存数据。例如,如果我输入GTX-1070并将输入另一个名为GTX-3080的条目,则不应保存该条目,因为GTX已被使用。我这样做没有使用SQL中的唯一约束 这是我的PHP代码 <?php include('../include/connect.php'); $control_no = ""; if($_SERVER["REQUEST_METHOD&quo

我试图在我的PHP代码中做到这一点,问题是我还没有弄明白。我想使前3个字符唯一,但仍然保存数据。例如,如果我输入GTX-1070并将输入另一个名为GTX-3080的条目,则不应保存该条目,因为GTX已被使用。我这样做没有使用SQL中的唯一约束

这是我的PHP代码

<?php

include('../include/connect.php');

   $control_no = "";

    if($_SERVER["REQUEST_METHOD"]=="POST")
        {
      
        $control_no = $_REQUEST['control_num'];

        
        if(isset($_POST['subBtn']))
        {
        $control_no = mysql_real_escape_string($_POST["control_num"]);
        $con->next_result();
        $control_check_res = mysqli_query($con, "SELECT SUBSTRING(control_no, 1, 3) FROM tools_masterlist WHERE control_no = '$control_no'");
        
        if (mysqli_num_rows($control_check_res)) 
        {
            echo '<script> $("#control_num_Modal").modal("show"); </script>';
        }

        else 
        {

            $query = "INSERT INTO tools_masterlist (control_no)
            VALUES ('$control_no')";
            $con->next_result();
            $result=mysqli_query($con,$query);
           
            if(!$result)
            {
                echo '<script> $("#control_num_Modal").modal("show"); </script>';
            }
            else
            {
                echo '<script> $("#maModal").modal("show"); </script>';
            }
         

        }

        }

    }

?>

我编辑了我的代码,因为我想突出显示我编码子字符串查询的部分和条件。我现在真的很困惑我应该在我的情况下放什么。非常感谢您的帮助。

在您的数据库中,GTX列或您所涉及的3个唯一字符必须设置在主键中,以便插入的所有数据都是唯一的。

Hi@Emcee我没有3个唯一字符的列。我所拥有的是,数据被插入GTX-1080到我的列控件中。否,我应该在数据库中创建另一列吗?是的,我建议您添加另一列并将其设置为主键,因为您希望这3个字符是唯一的。您不能混合API。mysql和mysqli不是同一个版本,谢谢你提醒我。