Ошибка запроса sqlserver PDO

У меня есть этот запрос для выполнения:

try {
$dbh = new PDO('sqlsrv:Server=localhost;Database=database','user','pass');
} catch(PDOException $e) {
echo $e->getMessage();
}
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$checkQuery = "SELECT `userName` FROM `user_Status` WHERE `userName` = :userName";
$prepared = $dbh->prepare($checkQuery);
$prepared->bindValue(':userName', $_POST['username']);
$prepared->execute();
$count = $prepared->rowCount();

Я получаю ошибку при выполнении этого запроса, и я потратил 3-4 часа на поиск похожих ошибок и сканирование своего кода, пытаясь найти его, но я просто не могу его найти. Я полагаю, что некоторые другие взгляды могут указать на это, или я просто делаю что-то совершенно неправильно и не осознаю этого. Вот ошибка:

Неустранимая ошибка: необработанное исключение «PDOException» с сообщением «SQLSTATE [42000]: [Microsoft] [Драйвер ODBC 11 для SQL Server] [SQL Server] Неверный синтаксис рядом с« ». в C: \ inetpub \ wwwroot \ InOutBoard \ authorize.php: 68 Трассировка стека: # 0 C: \ inetpub \ wwwroot \ InOutBoard \ authorize.php (68): PDOStatement-> execute () # 1 {main}, брошенный в C : \ inetpub \ wwwroot \ InOutBoard \ authorize.php в строке 68

Строка 68 — это оператор execute, но я не вижу никаких проблем с этим, и я не вижу, где он получает неправильную синтаксическую ошибку рядом с ‘'.' так как я не могу найти ничего в своем коде и ничего, что, как я вижу, может вызвать ошибку, я не думаю, что использую зарезервированные слова. Я имел обыкновение «ВЫБРАТЬ userName ОТ Database.user_Status но я даже попытался удалить это, и ничего не изменилось. Я уверен, что у меня есть правильная база данных, пользователь и пароль, а также таблица. Любая помощь?

0

Решение

Спасибо @ frz3993 и Маркусу за помощь. Я исправил проблему, удалив обратные пометки, поскольку я привык использовать их для mySQL, но забыл, что они мне не нужны для mssq

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]