Мне нужно работать с чей-то базой данных для игры, у которой, к сожалению, есть таблица с именем «Пользователь» или [dbo] [Пользователь], и это нельзя переименовать. Теперь мне нужно открыть с помощью PDO в PHP и когда я использую этот запрос:Невозможно процитировать имя таблицы в PDO с помощью MSSQL
$query = "SELECT UserId AS INTUSERID FROM dbo.User WHERE YahooId = 'abcdef'";
это не удается, как и в ничего забирается, так как «Пользователь» является зарезервированным ключевым словом там. С MS SQL Server я могу сделать это как:
SELECT UserId AS INTUSERID FROM [GameName].[dbo].[User] WHERE YahooId = 'abcdef'
и он работает. Как я должен подготовить свой запрос на PHP для выполнения этого? Я попытался поставить одинарные кавычки вокруг имени таблицы, но это не имеет никакого эффекта. Что такое правильный способ использовать
[GameName].[dbo].[User]
из PHP PDO в качестве имени таблицы?
Update: Это, как я подключаю:
try{
$conn = new PDO("xxx.rds.amazonaws.com,1150;Database=xyz","admin","password");
} catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}
Я думаю, что это отвечает на http://stackoverflow.com/questions/15091734/how-to-escape-strings-in-pdo и http://stackoverflow.com/ вопросы/3716373/реальный спусковое стри ng-and-pdo – MarkD
Я попытался подготовить PDO, но эти темы, похоже, для параметров. В моем случае имя таблицы само по себе является зарезервированным ключевым словом ... –
@MrVimes Пробовал обратные сигналы ... не имеет эффекта. Я повторил запрос и показывал обратные шаги, но не выполнял его. –