Php 插入新记录时缺少最后一个字符

Php 插入新记录时缺少最后一个字符,php,mysql,Php,Mysql,php/mysql的新手,请耐心听我说 下面的代码由上一页中的表格提供数据。插入记录时,我没有收到任何错误消息,但在检查表时,empno和buntg字段的最后一个字符丢失。对于empno,屏幕上显示0001,但表中插入的值为000。对于buntg,显示14000101,但插入1400010。对opr tho没有问题 <?php $wopr = $_POST['operations']; $empno = $_POST['empno2']; $btg = $_POST['buntag2']

php/mysql的新手,请耐心听我说

下面的代码由上一页中的表格提供数据。插入记录时,我没有收到任何错误消息,但在检查表时,empno和buntg字段的最后一个字符丢失。对于empno,屏幕上显示0001,但表中插入的值为000。对于buntg,显示14000101,但插入1400010。对opr tho没有问题

<?php

$wopr = $_POST['operations'];
$empno = $_POST['empno2'];
$btg = $_POST['buntag2'];

echo $empno . "<br/>" . $btg . "<br/>" . $wopr . "<br/>";

$loaddat = "INSERT INTO ticket_data (empno,buntg,opr) VALUES ('$empno', '$btg', '$wopr')";

mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("test_database") or die (mysql_error());
mysql_query($loaddat) or die (mysql_error());
echo "Ticket Submitted. <br/> Ref. No: " . mysql_insert_id() . "<br/> Thank You.";
mysql_close();
?>
在varchar4和varchar8中,除了insert之外,一切都正常。我回到4和8,希望有人能解决我原来的问题。再次感谢

编辑#3:问题已解决。感谢下面的注释,我查看了输入字段,在表单html代码中找到了前导空格和尾随空格。把它们拿出来,现在它工作起来很好。注意到SQLI并相应地修改了代码


谢谢。

票证数据表中empno的数据类型是什么?empno是长度为4的varchar。谢谢。您是否尝试过将ticker_数据表empno设置为varchar(5)并将buntg设置为varchar(9)?如果两个输入始终是数字,则将字段转换为INT而不是varcharsThanks kickstart,以便为我指明正确的方向。在我的表单HTML代码中确实有前导空格和尾随空格。照顾好他们,现在一切正常!另外,感谢您对SQL注入的警告。做了一些研究,我将相应地修改我的代码。再次感谢。
SELECT style_ops.opr FROM style_ops WHERE style_ops.style='$sty' AND style_ops.opr NOT IN (SELECT ticket_data.opr FROM ticket_data WHERE ticket_data.buntg='$btg')