2014-11-02 6 views
0

누군가가 나를 도울 수 있는지 궁금해.비밀 번호 대소 문자를 사용하여 MySQL에서 SQLSRV로 BINARY

기본적으로 암호를 입력 할 때 기본적으로 로그인 스크립트에서 대소 문자를 구분하려고합니다.

을 성공적으로 바이너리를 사용하여, 아래의 코드를 사용하여 PHP의 MYSQL에서 완벽하게 작동했다 :

$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의 공식 SQLSRV Driver API Reference에는 아주 좋은 예가 있습니다.

Much more information about COLLATE