Чувствительность к регистру пароля при использовании BINARY от MYSQL до SQLSRV

Интересно, может ли кто-нибудь помочь мне здесь.

По сути, я пытаюсь сделать мой скрипт входа чувствительным к регистру, особенно при вводе пароля.

Я успешно сделал это прекрасно работает в PHP MYSQL, используя приведенный ниже код, используя BINARY:

$qry="SELECT * FROM studentrecords WHERE username='$login' AND password=**BINARY**'".($_POST['password'])."'";

Я пытался использовать его в PHP SQLSRV, но он не работает.

Кто-нибудь может подсказать мне альтернативный способ или как заставить его работать в PHP SQLSRV?

Заранее спасибо, я это очень ценю.

0

Решение

Опция поиска в базе данных SQL Server по умолчанию, вероятно, не учитывает регистр. Вы можете легко изменить этот параметр для своего запроса, как показано ниже, используя COLLATE:

$qry="SELECT * FROM studentrecords WHERE username='$login' AND password COLLATE Latin1_General_CS_AS ='".($_POST['password'])."'";

Вы должны посмотреть на использование параметризованных запросов для избежания SQL-инъекций. Официальный Microsoft Справочник по API драйвера SQLSRV есть очень хорошие примеры.

Намного больше информации о COLLATE

0

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

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