임의의 ID를 만드는 함수를 작성했습니다 makeid();
ID가 고유한지 확인하기 위해 ID가 이미 존재하는지 확인하는 SQL 문이 있습니다.쿼리 결과에 따라 함수를 반복하는 방법
$does_id_exist = mysql_query("SELECT COUNT(*) AS count FROM signups WHERE affid='$affid'");
if(mysql_num_rows($does_id_exist) == 1)
{
#loop function and perform query again
}
else
{
#insert record
}
그래서 함수를 반복하는 데 문제가 있습니다. 함수 makeid()
을 루프 처리하고 $does_id_exist
검사를 수행하여 각 ID
이 고유한지 확인하십시오.
--UPDATE-- 명확하게 - 내 코드는 [email protected]
과 같은 ID를 만듭니다.하지만이 ID를 사용자 레코드에 삽입하기 전에. 다른 사용자가 이미이 ID를 갖고 있는지 확인하기 만하면됩니다. 다른 사용자가이 ID를 가지고있는 경우 이벤트가 내 ID를 생성하기 위해 내 기능을 트리거해야합니다. WOW!29E3
그리고 다른 사용자가 인 을 가지지 않았는지 확인하기 위해 sql/query를 다시 확인하십시오. 실패하거나 끝나면 루프를 계속하고 ID를 사용할 수 있으면 INSERT합니다.
항상 자동 증가 ID 필드를 사용하여 이것을 완전히 회피 할 수 있습니다. – andrewsi
제휴 ID와 같은 것을 생성하기 때문에 위장 할 수 없습니다. 그것은 INT가 아닙니다 - 단어 + 임의의 숫자와 + 기호 – fyz
심각한 SQL 주입 버그를 피하려면 [자리 표시 자] (http://bobby-tables.com/php)를 사용하여 SQL을 이스케이프 처리해야합니다. ** mysql_query는 구식이며 위험하기 때문에 새로운 응용 프로그램을 작성하고 있습니다 ** mysqli와 PDO는 훨씬 안전하고 적절하게 사용하기 쉽습니다. – tadman