【问题标题】:Mssql select returning error for some queries某些查询的 mssql 选择返回错误
【发布时间】:2017-07-30 13:50:28
【问题描述】:
Array
(
    [0] => 01S02
    [1] => 0
    [2] => [Microsoft][ODBC SQL Server Driver]Cursor type changed (SQLExecute[0] at ext\pdo_odbc\odbc_stmt.c:250)
    [3] => 01S02
)

这是我在 mssql 数据库中进行选择时遇到的错误。我只在某些查询中得到这个,而在某些查询中没有得到它。我正在使用相同的选择。

我想知道为什么在我的 mssql 选择中出现这种错误。

有时我会得到

Array
(
    [0] => 42000
    [1] => 8114
    [2] => [Microsoft][ODBC SQL Server Driver][SQL Server]Error converting data type varchar to numeric. (SQLExecute[8114] at ext\pdo_odbc\odbc_stmt.c:254)
    [3] => 42000
)

这些错误是什么意思?

【问题讨论】:

  • 不确定第一个错误,但第二个错误看起来像你有一些糟糕的 SQL Server 代码,它与类型有关。
  • @TimBiegeleisen 知道导致Cursor type changed 的原因是否也是数据类型?在别的事情上?
  • 请参阅here 以获得可能的答案。它可能只是与混淆类型的第二个错误有关。我会专注于查找和修复第二个错误,也许第一个错误也会消失。
  • @TimBiegeleisen 抱歉再次询问我也碰巧收到此错误Array ( [0] => [1] => 0 [2] => ((null)[0] at (null):0) [3] => ) 可能导致此问题的原因
  • 嗨 Martin,您需要仔细检查您正在运行的实际 SQL。请注意,错误不一定与 PHP 有任何关系,除了可能是您的代码调用了底层查询。

标签: php sql-server pdo


【解决方案1】:

因为在你的代码中不能转换varchar to numeric

【讨论】:

  • 这应该是一条评论。如果您无法发表评论,并且没有足够的材料来提供完整的答案,那么请坐下来观看节目。
猜你喜欢
  • 1970-01-01
  • 2015-12-16
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
  • 1970-01-01
  • 2012-12-30
相关资源
最近更新 更多