【发布时间】:2017-01-11 12:49:45
【问题描述】:
我有一个 PHP (CODEIGNITER) 应用程序,它通常部署在 Apache/MySQL 组合上。我最近将它部署在 IIS8 和 MS SQL 11.0.2100.60
我使用 ODBC 连接迁移表和数据以迁移到 Access 数据库,然后再次使用另一个 ODBC 连接迁移到 MS SQL。我修改了我的 PHP 应用程序的配置(PHP.ini、database.php、db_driver.php)以确保它正确连接并在 IIS 上运行。
我现在遇到了 SQL 语法问题。当我尝试运行应用程序时,它不会给我数据库连接错误(它之前给出的)但是当我尝试登录应用程序时(它具有用户身份验证) - 我收到以下错误:
Error Number: 42000
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near '`'.
SELECT * from ctbl_events WHERE 2017-01-11 <= startdate AND `enddate` >= 2017-01-11 and status=0 ORDER BY `ctbl_events`.`id`
Filename: C:\inetpub\wwwroot\GMS\system\database\DB_driver.php
Line Number: 330
这是否意味着 ` 符号有问题?如果是,我是否必须手动修改我的应用程序中的所有 SQL 查询(将是一项艰巨的任务),或者有什么方法可以处理这个问题。
【问题讨论】:
-
在这两个数据库中,日期常量应该用单引号括起来。此查询不需要反引号。
标签: php sql sql-server codeigniter iis-8