2016-09-08 1 views
0

나는 임의의 ID 번호를 생성하는 PHP 코드 아래 사용mysql where 절제가 가능합니까?

md5(uniqid(rand(), true) 

가 생성 문자열의 유형은 내가 MySQL의 테이블의 ID로 다음 나는 할 것을 사용이

9a423553ce53c4d7a6199fa9254bfdc5 

같은 것입니다 표준 선택 쿼리

SELECT * FROM table WHERE id = 9a423553ce53c4d7a6199fa9254bfdc5 

이 오류를 얻을

Unknown column '9a423553ce53c4d7a6199fa9254bfdc5' in 'where clause' 

만약 id를 1과 같은 간단한 숫자로 바꾸면 작동합니다.

왜 이런가요?

+0

당신이 따옴표로 그 캡슐화 시도? 귀하의 질의에서'id = 9a423553ce53c4d7a6199fa9254bfdc5' 당신은'id = other_id'와 같은 두 개의 열을 비교할 수 있습니다 .. MySQL은 당신의 질의 처리 방법을 알아야합니다. – Blake

+2

id에 따옴표를 붙이십시오 – odai

+0

@Blake omg yep yup it .... 답변으로 답변 드리겠습니다. 전혀 보지 못했습니다. 이상한 문자열이 MySQL에서 의미가 있다고 생각했습니다. – codenoob

답변

3

따옴표로 묶어 보았습니까? 귀하의 쿼리 id = 9a423553ce53c4d7a6199fa9254bfdc5id = other_id 같은 두 개의 열을 비교할 수 있습니다 .. MySQL은 귀하의 쿼리를 처리하는 방법을 알아야합니다.

설명이 들어 있어야한다 : SELECT * FROM table WHERE id = '9a423553ce53c4d7a6199fa9254bfdc5';