我有一个表格,我可以在其中扫描我的条形码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个赞
这是因为
您将条形码保存为数据库中的整数,int 的最大范围是 2147483647。它不会保存任何大于此的数字。
您不能使用 int,因为整数会将条形码 0096234 视为 96234。
尝试通过键盘输入大于 2147483647 的数字,它不会按预期保存。
更改您的数据类型可能是 varchar
- 2 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消