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

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

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

PHP
慕田峪9158850 2022-08-19 15:24:34
我有一个扫描条形码的表格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="Προσθήκη">阿贾克斯.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)我的屏幕显示保存在数据库中的 RIGHT 号码(2147483647)但是所有其他想要显示的东西都不显示!当我不使用条形码,但在我的输入中,我用键盘写了一个数字(例如:10500),我的代码没有问题。它运行良好,数据库中的所有内容都是正确的。
查看完整描述

2 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

这是因为

  1. 您将条形码另存为 DB 中的整数,并且 int 的最大范围2147483647。它不会保存任何大于此值的数字。

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

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

更改您的数据类型,也许是 varchar


查看完整回答
反对 回复 2022-08-19
?
慕标5832272

TA贡献1966条经验 获得超4个赞

但是在我的数据库中,这个数字被保存为2147483647

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


查看完整回答
反对 回复 2022-08-19
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

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