我有一個表格,我可以在其中掃描我的條形碼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 關注
- 185 瀏覽
添加回答
舉報
0/150
提交
取消