1

我有一个包含cNumber作为主键的表,其中包含这种格式的数据12-4324512-34537.

但是当 select 给出结果时,它实际上是减去该值并分别返回 this-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查询中使用它时,它会在数据库中插入减去的值

4

3 回答 3

3

问题是主键是整数而不是字符,所以当你选择它时

12-43245 = -43233 and 12-34537 = -34525.

如果您希望同时包含数字和特殊字符,请尝试将列类型更改为 varchar 或 char。

尝试将 id 存储为

$id = mysql_real_escape_string($row["cNumber"]);
于 2012-11-10T04:19:31.150 回答
2

我认为主键是整数而不是 varchar,因此我们进行了减法。

于 2012-11-10T05:06:41.037 回答
0

PHP 不会对您的数据做任何事情。当您选择它时, MySQL 也不会对您的数据做任何事情。

所以最有可能的情况——你的数据库中有这些数据。

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

于 2012-11-10T06:56:13.587 回答