У меня есть база данных доступа, к которой мне нужно подключиться, в которой есть таблица с именем [Полученные проекты], и в этой таблице у нас есть поля с именами [Назначено], [Дата назначения] и [Изображение Cnt]. MS Access и odbc в целом будут в порядке с оператором select, например:
SELECT [Received Projects].[Assigned To], [Received Projects].[Assigned Date], [Received Projects].[Image Cnt]
FROM [Received Projects]
WHERE ([Received Projects].[Image Cnt])>0)
Тем не менее, я пытаюсь соединиться с PDO в PHP, который не любит квадратных скобок. Это вроде как что-то вроде этого:
$strSQL = 'SELECT "Assigned To", "Assigned Date", "Image Cnt"FROM "Received Projects"WHERE ("Received Projects"."Image Cnt")>0)';
Кроме того, он выдает эту ошибку, указывая, что не знает, что это за таблица:
Неустранимая ошибка PHP: необработанное исключение «PDOException» с сообщением «SQLSTATE [42P01]: неопределенная таблица: 7 ОШИБКА: отношение« полученные проекты »не существует
Мне нужно как-то избежать пробела в имени таблицы. Двойные кавычки работают с именем столбца, но не с именем таблицы. Я пробовал одинарные кавычки, двойные кавычки, обратные кавычки и квадратные скобки с вариациями кавычек. Начинаю задумываться, если это невозможно.
попробуйте запрос ниже. Работает нормально (ИСПЫТАНО)
$strSQL = 'SELECT `Assigned To`, `Assigned Date`, `Image Cnt`
FROM `received projects`
WHERE `received projects`.`Image Cnt` > 0';
Надеюсь, что это выполнить ваше требование. 🙂
ПРИМЕЧАНИЕ. Пожалуйста, избегайте пробелов. Лучше использовать соглашение об именах Camel.
Других решений пока нет …