Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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
Javascript 生成随机数和字符-MYSQL_Javascript_Php_Mysql - Fatal编程技术网

Javascript 生成随机数和字符-MYSQL

Javascript 生成随机数和字符-MYSQL,javascript,php,mysql,Javascript,Php,Mysql,如何创建一个随机生成数字和字符的表,以用作用户的传递代码 这是我的密码: create table reservation(rID int auto_increment, rCode varchar(255) magic_number, user varchar(255), address varchar(255), room_type varchar(255), primary key(rID)); 当用户完全签署所有所需字段时,信息将传输到数据库,列rCode将自动生成随机代码,可能是整数

如何创建一个随机生成数字和字符的表,以用作用户的传递代码

这是我的密码:

create table reservation(rID int auto_increment, rCode varchar(255) magic_number, user varchar(255), address varchar(255), room_type varchar(255), primary key(rID));
当用户完全签署所有所需字段时,信息将传输到数据库,列
rCode
将自动生成随机代码,可能是整数和/或字符的组合(仅a-z)


回应是将帮助我完成这个项目。提前感谢:)

这是一个生成随机字符串的PHP函数

function rand_string( $length )
{
    $chars = "ABCDEFGHJKLMNPQRSTUVWXYZ";

    $size = strlen( $chars );
    $str = "";
    for( $i = 0; $i < $length; $i++ ) {
        $str .= $chars[ rand( 0, $size - 1 ) ];
    }

    return $str;
}
函数随机字符串($length)
{
$chars=“ABCDEFGHJKLMNPQRSTUVWXYZ”;
$size=strlen($chars);
$str=”“;
对于($i=0;$i<$length;$i++){
$str.=$chars[rand(0,$size-1)];
}
返回$str;
}

这是生成随机代码的函数

function generateRandomString($length = 10) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}
function generateRandomString($length=10){
$characters='0123456789abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz';
$randomString='';
对于($i=0;$i<$length;$i++){
$randomString.=$characters[rand(0,strlen($characters)-1)];
}
返回$randomString;
}
您可以通过调用该函数生成一个随机字母数字代码,并将代码的长度作为参数传递

例如:
$code=generateRandomString(5)


这将返回5个字符长的代码,并将存储在
$code

中。如果您只需要一个简单的随机散列,您可以使用mysql的所有加密功能。以下是您的情况的fpr示例:

INSERT INTO reservation (
    rCode, user, address, room_type
) VALUES (
    SHA1(NOW()), 'the name', 'the address', 'the room'
);
如果需要特定长度(比如8),只需使用子字符串:

SUBSTRING(SHA1(NOW()), 0, 8)
或者更好:

SUBSTRING(SHA1(NOW()), ROUND(RAND() * 100) % 32, 8)
最后一个生成一个从0到32的随机起始点,并使用以下8位数字作为代码(sha1的长度始终为40个字符…因此为32)。例如,如果代码需要10个字符,只需将8替换为10,将32替换为30即可

这就是你要找的吗?

//更新代码\u bazaryab fake没有代码
        //update code_bazaryab fake not have code
         $model = new \Modules\Membership\Models\user();

        $rows = $model->get_all_null_code_bazaryabi();
        foreach($rows as $row){

            $chars = "ABCDEFGHJKLMNPQRSTUVWXYZ1234567890";

            $size = strlen( $chars );
            $str = "";
            for( $i = 0; $i < 10 ; $i++ ) {
                $str .= $chars[ rand( 0, $size - 1 ) ];
            }

            $model->update_user(['code_bazaryab'=>$str],['userid'=>$row->userid]);

        }
$model=new\Modules\Membership\Models\user(); $rows=$model->get_all_null_code_bazaryabi(); foreach($行作为$行){ $chars=“abcdefghjklmnpnpqrstuvxyz1234567890”; $size=strlen($chars); $str=”“; 对于($i=0;$i<10;$i++){ $str.=$chars[rand(0,$size-1)]; } $model->update_user(['code_bazaryab'=>$str],'userid'=>$row->userid]); }
随机代码的预期用途是什么?它将提交给用户的电子邮件地址(我从未将电子邮件地址包含在上面的示例中)。我按此键,每个用户的代码都必须是唯一的?旁注:我喜欢这两个答案是多么的相似,哈哈!