Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Rand()生成唯一ID_Php_Loops_Random - Fatal编程技术网

Php 使用Rand()生成唯一ID

Php 使用Rand()生成唯一ID,php,loops,random,Php,Loops,Random,正在尝试创建ajax私人聊天。但似乎无法生成未被其他用户使用的唯一ID $genid = rand(1,999999999999); foreach($genid as &$rand){ $q = mysql_query("SELECT ".$q_pchat." FROM users WHERE pchat_id1='".$rand."'"); $r = mysql_num_rows($q); if($r == 0)

正在尝试创建ajax私人聊天。但似乎无法生成未被其他用户使用的唯一ID

    $genid    =   rand(1,999999999999);
    foreach($genid as &$rand){
    $q  =   mysql_query("SELECT ".$q_pchat." FROM users WHERE pchat_id1='".$rand."'");
    $r  =   mysql_num_rows($q);

        if($r == 0){
            $chatid =   $rand;
             break;
        }
 }

获取内部服务器错误500。我认为这是因为它是一个无限循环。

既然您已经在使用MySQL,只需将SELECT UUID用作uniqid,就可以生成一个真正唯一的标识符。为什么要费心构建自己的,这是不切实际的,slow an甚至不起作用?如果你真的需要PHP来生成它,请使用uniqid来生成一个唯一的字符串。@Benoîtlatiner-它不会生成任何唯一的东西,即使文档上说是这样-使用红色背景来突出显示它在任何方面都不是唯一的。然而,和许多人一样,如果它真的生成了UUID/GUID,我会欢迎它。