我有一个包含cNumber
作为主键的表格,其中包含此格式12-43245
或12-34537
的数据。
但是当select给出结果时,它实际上会减去该值并分别返回-43233
和-34525
。
有没有办法让返回相同的值而不是减去的值?
这是代码 cnumber的datayupe是varchar
$query = "SELECT 'cNumber','cNature','cStNum','cAddress','cTime','cDate','cLocation','cDsp' FROM cases";
$result=mysql_query($query);
while($row=@mysql_fetch_assoc($result)){
$id=$row["cNumber"];
echo ($id);
}
检查了一下。 $id
值打印正确,但当我在另一个$id
查询中使用此INSERT
时,它会在数据库中插入减去的值
答案 0 :(得分:3)
问题是主键是整数而不是字符,所以当你选择它时
12-43245 = -43233 and 12-34537 = -34525.
如果您想要同时包含数字和特殊字符,请尝试将列类型更改为varchar或char。
尝试将id存储为
$id = mysql_real_escape_string($row["cNumber"]);
答案 1 :(得分:2)
我认为主键是整数而不是varchar,因为我们减去了它。
答案 2 :(得分:0)
PHP不会对您的数据执行任何操作。当你选择时,MySQL对你的数据没有做任何事情。
最可能的情况 - 您在数据库中拥有此数据。
在这种情况下的问题是在插入查询中 - 当您插入行时,您应该将主键作为字符串插入,而不是整数。