Интересно, может ли кто-нибудь помочь мне здесь.
По сути, я пытаюсь сделать мой скрипт входа чувствительным к регистру, особенно при вводе пароля.
Я успешно сделал это прекрасно работает в PHP MYSQL, используя приведенный ниже код, используя BINARY:
$qry="SELECT * FROM studentrecords WHERE username='$login' AND password=**BINARY**'".($_POST['password'])."'";
Я пытался использовать его в PHP SQLSRV, но он не работает.
Кто-нибудь может подсказать мне альтернативный способ или как заставить его работать в PHP SQLSRV?
Заранее спасибо, я это очень ценю.
Опция поиска в базе данных SQL Server по умолчанию, вероятно, не учитывает регистр. Вы можете легко изменить этот параметр для своего запроса, как показано ниже, используя COLLATE
:
$qry="SELECT * FROM studentrecords WHERE username='$login' AND password COLLATE Latin1_General_CS_AS ='".($_POST['password'])."'";
Вы должны посмотреть на использование параметризованных запросов для избежания SQL-инъекций. Официальный Microsoft Справочник по API драйвера SQLSRV есть очень хорошие примеры.
Других решений пока нет …