Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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 MySQL在插入后检查前14个字符_Php_Mysql - Fatal编程技术网

Php MySQL在插入后检查前14个字符

Php MySQL在插入后检查前14个字符,php,mysql,Php,Mysql,我正在尝试检查零件的条形码,因为存在混合的风险。条形码由24个字符组成,前14个字符是零件号,最后10个字符是计数器,检查前14个字符是一种解决方案吗 以下是条形码的示例:308739420D52AD1702600131 混合零件是因为下一个条形码来自另一个零件: 308739420B0LAD1702600131 因此,我的问题是:我可以在数据库中输入前14个字符时进行检查吗 我可以这么说,给我看看我今天用来在数据库中引入条形码的脚本: 使用mysqli在数据库中插入数据 条形码检查器 条

我正在尝试检查零件的条形码,因为存在混合的风险。条形码由24个字符组成,前14个字符是零件号,最后10个字符是计数器,检查前14个字符是一种解决方案吗

以下是条形码的示例:308739420D52AD1702600131

混合零件是因为下一个条形码来自另一个零件: 308739420B0LAD1702600131

因此,我的问题是:我可以在数据库中输入前14个字符时进行检查吗

我可以这么说,给我看看我今天用来在数据库中引入条形码的脚本:


使用mysqli在数据库中插入数据
条形码检查器

条形码:



您可以使用PHP函数
substr()

文件:

更新:扩展示例,用以下内容替换php代码中的所有内容:

<?php
    if(isset($_POST["submit"])){
        $servername = "localhost";
        $username = "barcode";
        $password = "barcode";
        $dbname = "barcode";

        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

    $control = '308739420D52AD'; // YOUR BAR CODE IDENTIFIER
    $test = substr($_POST["TAK0010barcode"], 0, strlen($control)); // BEGINNING OF THE POSTED BAR CODE.. SET TO SAME LENGTH AS BAR CODE IDENTIFIER

    if($control == $test){ // CHECK IF STRINGS ARE ALIKE

        $sql = "INSERT INTO tak0010 (TAK0010barcode)
                VALUES ('".$_POST["TAK0010barcode"]."')";

        if ($conn->query($sql) === TRUE) {
            echo "<span style='color: green; font-size: 40px; font-weight: bold'>SUCCES!!</span>";
        } else {
            echo "<span style='color: red; font-size: 40px; font-weight: bold'>EROARE!!</span>";
        }

        $conn->close();
    } else { // STRINGS DO NOT MATCH!
        echo "<span style='color: red; font-size: 40px; font-weight: bold'>The barcode don't match the part number. Please use a barcode starting with ".$control."</span>";
    }
}
?>

MySQL有一个
substring()
函数。请在此处发布您的代码,以便为将来的so访问者保留。是否要检查前14个字符是否已存在于数据库中?如果不是,则插入,如果是,则不执行任何操作?我想检查条形码的前14个字符是否相同(308739420D52AD),因为如果您无意中在另一个零件(308739420B0LAD)上插入条形码,则存在零件混合的风险。与什么相同?与变量检查相同,或类似。因此,我希望引入的每个条形码检查条形码的前14个字符(308739420D52AD1702600131)是否与“308739420D52AD”相同。谢谢Michael K。我已插入php,我收到此错误:“解析错误:语法错误,C:\Sites\barcode\index.php第35行的意外“if”(T_-if)。我阅读了PHP手册上的和,没有找到任何帮助。在sql执行之后,您必须用
}
关闭IF条件。。我的exempel只显示了代码的开头…感谢您提供完整的代码,但是脚本不起作用,我不知道问题出在哪里。。。在文本框中输入数据并按下“提交”按钮时,页面会重新加载,并且不会在数据库中插入任何内容,也不会出现错误消息。对不起,我的代码中有一个拼写错误,它应该是:
substr($\u POST[“TAK0010barcode”],0,strlen($control)
其中零表示开始位置。我已相应地更新了我的答案…现在请告诉我它是否适用于您。非常感谢。脚本工作正常。谢谢。
<?php
    if(isset($_POST["submit"])){
        $servername = "localhost";
        $username = "barcode";
        $password = "barcode";
        $dbname = "barcode";

        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }

    $control = '308739420D52AD'; // YOUR BAR CODE IDENTIFIER
    $test = substr($_POST["TAK0010barcode"], 0, strlen($control)); // BEGINNING OF THE POSTED BAR CODE.. SET TO SAME LENGTH AS BAR CODE IDENTIFIER

    if($control == $test){ // CHECK IF STRINGS ARE ALIKE

        $sql = "INSERT INTO tak0010 (TAK0010barcode)
                VALUES ('".$_POST["TAK0010barcode"]."')";

        if ($conn->query($sql) === TRUE) {
            echo "<span style='color: green; font-size: 40px; font-weight: bold'>SUCCES!!</span>";
        } else {
            echo "<span style='color: red; font-size: 40px; font-weight: bold'>EROARE!!</span>";
        }

        $conn->close();
    } else { // STRINGS DO NOT MATCH!
        echo "<span style='color: red; font-size: 40px; font-weight: bold'>The barcode don't match the part number. Please use a barcode starting with ".$control."</span>";
    }
}
?>