![](/img/trans.png)
[英]Backslashes are auto-removed while inserting LaTeX formulas to MySQL with PHP
[英]Removed digits while inserting into mysql (php)
嗨,我在mysql表中插入数据(仅3个字段)。
问题是,当在tinyint中插入一个数字(3位数字)(也尝试使用TEXT,VARCHAR和其他字段类型)时,结果是仅添加了第一位数字。
插入其他字段(同样是数字)也没有问题。
我正在使用一个调用以下简单代码的函数:
$idT= $_POST["idT"];
function related( $idE, $idT, $Type )
{
$sql = "INSERT INTO table_name ( idE, idT, Type ) VALUES ( '$idE', '$idT', '$Type ')";
$result = mysql_query($sql, $conn);
return mysql_insert_id($conn);
}
问题在于$idT
变量。
问题可能是您尝试插入的值超出了MySql数值类型 [TINYINT]
的存储容量(范围从-127到127的有符号或0到255的有符号)。
您可能需要更改表结构,以使作为TINYINT
的列改为INT(#)
。
我认为您仅更改了“ 数据类型 ”字段(无论是“ VARCHAR
”,“ INT
”还是“ TINYINT
”)。 您还需要将字段“ 长度/值 ”更改为“ 3
”(“ TINYINT UNSIGNED
”)或“ 4
”(“ TINYINT SIGNED
”)或“ 4
”(“ INT SIGNED
”)。
希望能帮助到你。
跟踪PHP中任何代码的最简单方法是在每个赋值语句之后和每个函数之后,通过回显所需的/感兴趣的变量(如果是字符串/整数)或对所有其他变量使用“ var_dump
/ print_r
”打电话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.