数据库为同一查询返回不同的错误。列id不是列名,而是返回

时间:2011-08-30 06:43:27

标签: php mysql

我对服务器非常恼火......

我看到很多问题在本地系统环境中没有发生,当代码上传到服务器上时......一切似乎都是针对开发人员的。

问题:

在我的本地系统上,我使用从mysql返回的数据库错误,如:

  0 => string '23000' (length=5)
  1 => int 1062
  2 => string 'Duplicate entry 'xyzabc.com' for key 'domain'' (length=46)

和造型错误消息如我所愿:

string 'Error: xyzabc.com already exist/used.' (length=38)

用于jquery闪烁消息,因为显示数据库返回的完全相同的错误并不好看。

X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X

现在,当我上传服务器以使其生效时,它的反应如下:

array(3) {
[0]=>  string(5) "23000"
[1]=>  int(1062) 
[2]=>  string(39) "Duplicate entry 'xyzabc.com' for key 2" 

}

Field       Type                 Collation
id      int(11) 
domain      varchar(50)              latin1_swedish_ci
added       datetime    
is_delete   enum('no','yes')   latin1_swedish_ci

我只能使用1062消息,但是我发布了多个值,所以为此,我需要检查每个发布的值,以便检查错误。

现在这个键'2'来自哪里? : - /因为它应该是域名。我假设它是column_id。但是如何解决这个问题?我需要在服务器中更改为响应,如我的本地系统环境?

1 个答案:

答案 0 :(得分:0)

我认为问题可能是你在本地

  2 => string 'Duplicate entry 'xyzabc.com' for key 'domain'' (length=46) 

远程

[2]=>  string(39) "Duplicate entry 'xyzabc.com' for key 2" 

NB不同的报价!