【问题标题】:SQLSTATE[HY010]: Function sequence error: 0 during insertSQLSTATE[HY010]:函数序列错误:插入期间为 0
【发布时间】:2015-01-31 20:28:19
【问题描述】:

问题

在非常简单的插入查询期间,将 PDO 与 DB2 数据库的 ODBC 驱动程序一起使用,驱动程序返回以下错误:

SQLSTATE[HY010]: Function sequence error: 0 [Microsoft][Driver Manager ODBC] [italian message translation] (SQLExecute[0] at ext\pdo_odbc\odbc_stmt.c:254)

查询本身是一个准备好的语句插入,带有字符串和日期。 [意大利语消息翻译] 只是用意大利语说“功能序列错误”。

研究

This SO question 报告了同样的问题,但发生在 SELECT 查询期间,这不是我的情况 This PHP bug report 报告了同样的问题,但我确定这也不是我的情况。

问题

为什么简单的插入会导致 SQLSTATE[HY010] 的函数序列错误?

【问题讨论】:

    标签: php pdo odbc


    【解决方案1】:

    PHP bug report 阅读,用户报告该问题与插入日期的格式有关,因为(在这种特殊情况下)它缺少月份数中的一些数字。

    这让我想到:可能某些输入数据的长度与表格列不兼容。事实上,我写了 80 个字符,而只能写 60 个字符。

    解决方案

    检查您的输入值:长度、格式和类型。其中之一可能与您正在写入的列不兼容。老实说,我希望驱动程序会发出不同的信息(在我的情况下数据被截断),因为如果您有更好的信息,问题并不难解决。

    只要我将输入长度减小到允许的最大值以下,查询就会成功执行

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 1970-01-01
      • 2016-10-13
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      • 2018-02-21
      相关资源
      最近更新 更多