gpt4 book ai didi

php - 更新php mysql中多个记录集中的唯一字符串

转载 作者:行者123 更新时间:2023-11-30 01:21:14 25 4
gpt4 key购买 nike

我尝试通过单击按钮来更新多行,并为每行添加唯一的字符串。但每当我生成它们时,它都会存储相同的值。我有一个错误,说“注意:未初始化的字符串偏移量:60”。我还希望如果数据库中已存在唯一字符串,则必须创建一个新字符串。请帮助。更多力量!

这是我的代码:

if(isset($_POST['gen'])){
function genRandomString() {
$length = 6;
$characters = '023456789abcdefghijkmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM';
$string = '';

for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))];
}
return $string;
}

$q = mysql_query("SELECT * FROM exam_passwords WHERE pass_subject_id = ".$subject_id."")or die(mysql_error());
$r = mysql_num_rows($q);

for($i = 0; $i<$r; $i++){

$random_string = genRandomString();
$k = "UPDATE exam_passwords SET pass_password = '$random_string' WHERE pass_subject_id = '$subject_id'";
$result = mysql_query($k);

}
}

最佳答案

由于 strlen 将返回字符串中的实际字符数,并将字符串视为字符数组,因此您需要将该字符串从 0 索引到 strlen -1,

按如下方式更改此行。

$string .= $characters[mt_rand(0, strlen($characters) -1 )];

关于php - 更新php mysql中多个记录集中的唯一字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18507637/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com