【问题标题】:SQLSTATE[HY000]: General error: 1366 Incorrect integer value: Any Solution?SQLSTATE[HY000]:一般错误:1366 整数值不正确:任何解决方案?
【发布时间】:2016-06-26 16:17:21
【问题描述】:

很抱歉,当我想创建任何帐户时,我的网站出现问题。 我的错误是:

致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[HY000]:一般错误:1366 整数值不正确:'' for column 'guid' at row 1'

我的代码是:

$db->query('INSERT INTO accounts (guid, account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("", "'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")');

请帮助我...非常感谢 Stackoverflowers :D !

【问题讨论】:

  • 很容易理解 - 您正在尝试将空字符串插入 INT 类型字段 (guid)
  • 从列名中删除guid,并从值中删除它对应的第一个""。因为我认为该字段是primary key 和auto-incremented
  • 您的查询面临 SQL 注入攻击的风险。
  • 我希望你逃脱了这些值并散列了密码。

标签: php


【解决方案1】:

您正在尝试将空字符串插入到需要整数的列中。您可能应该插入一个整数。根据设置,您可能只需插入 0 或其他内容就可以逃脱,但由于该列称为 guid,这可能会破坏某些内容。另一种选择是完全省略它,看看它是否是自动设置的。

$db->query('INSERT INTO accounts (account, pass, level, vip, email, lastIP, question, reponse, pseudo) VALUES ("'.$account.'", "'.$pass1.'", "0", "0", "'.$mail.'", "'.$ip.'", "'.$question.'", "'.$reponse.'", "'.$pseudo.'")');

【讨论】:

  • @CreyJR 如果这回答了您的问题,那么您应该接受它,以便用户获得他们的信用和代表。
  • 为我完成了,可以吗? :)
猜你喜欢
  • 2012-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多