您好 我在mysql表中插入数据(只有3个字段)。
问题是当插入其中一个,一个数字(3位数)的tinyint(也尝试过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
变量。
答案 0 :(得分:1)
问题可能是您尝试插入的值超出MySql numeric type [TINYINT]
的存储容量(范围从-127到127签名,或0到255签名)。
您可能需要更改表格结构,以使TINYINT
的列为INT(#)
。
答案 1 :(得分:0)
我认为您只更改了“数据类型”字段(无论是“VARCHAR
”,还是“INT
”或“TINYINT
“)。您需要将字段“长度/值”也更改为“3
”(“TINYINT UNSIGNED
”)或“4
”(“{{1 })“),或”TINYINT SIGNED
“(”4
“)。
希望它有所帮助。
在PHP中跟踪任何代码的最简单方法是回显所需/感兴趣的变量(如果是字符串/整数)或使用“INT SIGNED
/ var_dump
”来表示所有其他变量,就在每个赋值语句之后在每个函数调用之后。