php - 通过 PHP 转义保留的 SQL Server 关键字

标签 php sql sql-server

我在 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/

相关文章:

sql-server - 更改了连接字符串,但 mvc 应用程序仍然使用 localdb

sql-server - 无法将northwind数据库附加到sql server 2008 R2

php - 在 Laravel 4 中更改邮件传输

php - 在 ubuntu 上安装 curl 以将 hirak/prestissimo 与 Composer 一起使用

php - 如何将 CSV 上传到 wordpress 自定义表格

sql - 如何向表中添加多列并在其中一列上添加默认约束?

sql - 如何组合一个返回多行的 Mysql(子)查询的结果并将其用于另一个查询

php - 如何计算一个字符串在mySQL中以逗号分隔的字段中出现了多少次?

mysql - 使用触发器将数据从 SQL Server 插入到 MySql

sql-server - 联合/联合所有查询中的别名 - SQL Server