У меня есть приложение PHP (CODEIGNITER), которое обычно развертывается в комбинации Apache/MySQL. Я недавно развернул его на IIS8 и MS SQL 11.0.2100.60Миграция с MySQL на MS SQL
Я перенес таблицы и данные с помощью соединения 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-запросы в моем приложении (это была бы гигантская задача) или есть способ справиться с этим.
В обеих базах данных константы даты должны быть заключены в одинарные кавычки. Backticks не нужны для этого запроса. –