PHP SELECT查询给出了错误的主键结果

时间:2012-11-10 03:53:04

标签: php select

我有一个包含cNumber作为主键的表格,其中包含此格式12-4324512-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时,它会在数据库中插入减去的值

3 个答案:

答案 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对你的数据没有做任何事情

最可能的情况 - 您在数据库中拥有此数据。

在这种情况下的问题是在插入查询中 - 当您插入行时,您应该将主键作为字符串插入,而不是整数。