내가 뭘 하려는지, 무작위 문자열을 만들고, 테이블에 대해 이미 존재하는 경우이를 확인하고, 새로운 임의의 문자열을 만든 후 다시 테이블에 삽입하지 않으면 다시 시도하십시오.임의의 문자열을 만들고, 테이블에 대해 검사하고, 이미 존재하는 경우 new를 만들고 다시 시도하십시오. 그렇지 않으면 insert - script가 작동하지 않습니까?
내 스크립트는 어제받은 스크립트를 기반으로하며, 모두 if(mysql_num_rows($result) == 0)
외의 계획대로 작동하며, 자동으로 false를 반환하고 else 문을 실행합니다. 나는 진위 여부에 상관없이 if 문을 실행하는 0 대신 1로 값을 변경하려고 시도했습니다 (예 : $authcode ="eey7y764";
과 같은 문자열에 대해 $authcode = dechex($num1).$dechex($num2);
을 스왑하고 있지만 아직 테이블에 존재하지 않음). if 문을 여전히 실행합니다).
function authCode() {
$num1 = mt_rand(1, 2147483647);
$num2 = mt_rand(1, 2147483647);
$authcode = dechex($num1).dechex($num2);
include("../db/71cfde725dc86.php");
$conn = mysql_connect($db_host, $db_uname, $db_pword) or die("Couldn't connect because ".mysql_error()); mysql_select_db($db_name);
$query = "SELECT COUNT(*) FROM records WHERE valcode='$authcode'";
$result = mysql_query($query) or die("SELECT query failed due to ".mysql_error());
if(mysql_num_rows($result) == 0)
{
$authCode = authCode();
}
else
{
$query2 = "INSERT INTO records (valcode) VALUES ('$authcode')";
$result2 = mysql_query($query2) or die("INSERT query failed due to ".mysql_error());
}
mysql_close($conn);
return $authcode;
}
authCode();
당신이 내가 원하는대로 변경 기능을 가지고 할 필요가 무엇인지 말해 주 시겠어요 :
여기 내 스크립트입니까?
모든 의견이나 조언을 크게 부탁드립니다 :)!
그래서, 난 그냥'FROM'을 선택 (*) FROM' COUNT 선택 "'변경해야?, 또는 당신은 내가 완전히 다른 비교 함수를 사용할 필요가 말을? – Fireworksable
을 내가 전달하는 데 사용할 수있는 어떤 기능 authCode();가 호출되기 전에 그냥 닫을 수 없었고, else 문에서 다시 연결 했습니까? – Fireworksable