有没有办法自动创建一个 200 行的表(id,密码),并使用 php/mysql 为 200 行生成 5 位密码(1-9,AZ)?
问问题
1231 次
2 回答
1
要在 MySQL 中生成 5 位密码,您可以使用如下内容:
SUBSTRING(conv(floor(rand() * 99999999999999), 20, 36), 1, 5);
如果您想解决数据库级别的所有问题,您可以查看存储过程提供的循环语法。
CREATE PROCEDURE doiterate(p1 INT)
BEGIN
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
ITERATE label1;
END IF;
LEAVE label1;
END LOOP label1;
SET @x = p1;
END;
于 2012-09-09T13:11:06.137 回答
0
<?php
function generate($length, $chars = '') {
if (!$chars) $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
$ret = '';
for ($x=0;$x<$length;$x++) {
$ret .= $chars[rand(0,strlen($chars)-1)];
}
return $ret;
}
for ($x=0;$x<200;$x++) {
Sql::exec('INSERT INTO users (id,password) VALUES (NULL,?)',generate(5)); // just replace with your own function to execute SQL
}
?>
于 2012-09-09T13:09:36.257 回答