我在 PHP 中为 SQL Server 数据库编写的查询遇到一个问题,其中某个词未被识别为表名。我正在为 PHP 2.0 (VC6) 使用 SQL Server。在 SQL Server Management Studio 中执行时,以下查询有效并返回表 Order
中的所有订单。
SELECT * FROM "db_name"."dbo"."Order" (also tried using brakets [] around table name)
在 PHP 中,我得到以下错误:
[0] => Array
(
[0] => IMSSP
[SQLSTATE] => IMSSP
[1] => -35
[code] => -35
[2] => Invalid type
[message] => Invalid type
)
此查询适用于数据库中所有其他表的 PHP 代码,db_name
.. 它不适用于表 Order
,这是正确的表名。我试过双引号、方括号、无引号/方括号等都无济于事。有谁知道如何解决这个问题?
** 更新:
我找到了解决办法。请查看修复或解决方法的答案之一。
最佳答案
PHP 或您的驱动程序中一定有问题。您应该能够使用 SQL Server Profiler 查看正在提交的实际查询。
无论如何,如果你不能找出它在做什么。您可以将此视为解决方法:
CREATE VIEW dbo.MyOrder
AS
SELECT * FROM [Order]
继续前进 - 生命太短暂。
关于php - 通过 PHP 转义保留的 SQL Server 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11056616/