为了账号安全,请及时绑定邮箱和手机立即绑定

在 PHP / MySql 中插入和显示条形码

在 PHP / MySql 中插入和显示条形码

PHP
倚天杖 2022-07-29 16:21:39
我有一个表格,我可以在其中扫描我的条形码form_insert.php<form action="stock_insert.php" method="get">        <input type="text" name="barcode" placeholder="Εισαγωγή BarCode"> <br>        <input type="submit" name="SAVE" </form>将其插入我的数据库stock_insert.php<?phpinclude_once  'database_connection.php';$barcode = $_GET['barcode'];$sql = "INSERT INTO stock(barcode) VALUES ('$barcode');";mysqli_query($conn, $sql);header('Location: form_insert.php?signup=success');?>当我扫描我的条形码时,我显示的数字是 008576124045但在我的数据库中,数字保存为2147483647之后,当我想再次扫描并像这样显示我的条形码时:测试.php<script>        $(document).ready(function(){             $("#submit").click(function(){                var barcode =  $("#kwdikos").val();                $.post("database/ajax.php",                 {                    barcode: barcode ,                    value: value                },function(data){                    $("#test").html(data);                          });           });        });    </script>         <input type="text"   id="kwdikos" placeholder="Εισαγωγή  BarCode">        <input type="submit" id="submit" name="add" value="Προσθήκη">ajax.php<?php$barcode = $_POST['barcode'];$sql_get = "SELECT * FROM stock WHERE barcode ='$barcode' ";$result = mysqli_query($conn, $sql_get);              $resultCheck = mysqli_num_rows($result);        if ($resultCheck > 0) {            while  ($row = mysqli_fetch_assoc($result)){                    $name = $row['name'];                    $color = $row['color'];                    $kind = $row ['kind'];                    $price = $row['price'];            }}$sql = "INSERT INTO receipt (barcode, name, color, kind, value , price) VALUES ('{$barcode}','{$name}','{$color}','{$kind}','{$value}' , '{$price}')";mysqli_query($conn, $sql);当我再次扫描时,输入的数字是(008576124045)我的屏幕显示保存在数据库中的正确号码 (2147483647)但是所有其他想要显示的东西都不要显示!当我不使用条形码时,但在我的输入中,我用键盘写了一个数字(例如:10500),我的代码没有问题。它运行完美,数据库中的所有内容都是正确的。
查看完整描述

2 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

这是因为

  1. 您将条形码保存为数据库中的整数,int 的最大范围是 2147483647。它不会保存任何大于此的数字。

  2. 您不能使用 int,因为整数会将条形码 0096234 视为 96234。

  3. 尝试通过键盘输入大于 2147483647 的数字,它不会按预期保存。

更改您的数据类型可能是 varchar


查看完整回答
反对 回复 2022-07-29
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

但在我的数据库中,数字保存为 2147483647

2,147,483,647 是 32 位整数的最大值。您需要更改数据库中字段的类型



查看完整回答
反对 回复 2022-07-29
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信