我正在尝试从我的数据库(sql server)上的表中获取元数据。 我执行查询以在Sql Management Studio上获取该元数据并且它可以正常工作,但是当我执行时,php脚本显示错误:$ row = sqlsrv_fetch_array($ res): “在calc_string_size中遇到意外的SQL类型。”
我怀疑问题出在php上查询字符串的构建上,但不是因为我打印了那个查询而且它是正确的。
当我在select(列描述)上添加一个字段时会出现问题。
有人知道这个问题吗?
答案 0 :(得分:4)
你可能有
sql_variant
您查询中的某个位置。
这会引发错误 - >您必须将特定列转换为
VARCHAR
答案 1 :(得分:2)
首先感谢您的回答。
我的代码:
$解析度= sqlsrv_query($康恩,$ SQL); / 该部分正在运作 / while($ row = sqlsrv_fetch_array($ res)){/ *它在这里发生错误 (......) }
在查询sql上,如果我删除选择工作100%的字段(描述)
有什么想法吗?
答案 2 :(得分:2)
问题解决了。 我对该描述字段进行了强制转换,但它确实有效。 对于将尝试从sql server上的表中获取元数据并需要描述字段的下一个人,必须将该字段转换为varchar。 谢谢!