gpt4 book ai didi

php - 为每个 MySQL 行调用一个函数

转载 作者:行者123 更新时间:2023-11-29 11:48:52 26 4
gpt4 key购买 nike

我有一个标准的 MySQL 数据库,大约有 60 行(如用户帐户中的行)。当我第一次做到这一点时,我犯了一个错误,将 session ID 与简单帐户 ID 相同,现在我想纠正我的错误,而且我显然不会通过 60 行来重置它们不同的安全 session ID,所以我编写这个函数:

function generate_sessionid(){
return bin2hex(openssl_random_pseudo_bytes(32));
}

function assign_all_sessionids(){
$sessionid = generate_sessionid();

$conn = sql_connect();
$result = mysqli_query($conn, "UPDATE accounts SET sessionid='$sessionid' WHERE 1");
sql_disconnect($conn);
}
assign_all_sessionids();

问题:数据库中的每个帐户都获得与其他帐户相同的随机 session ID。如何让它调用每行的函数,以便使其对每行都是随机的?

最佳答案

尝试从数据库获取用户计数并简单地执行 N 次

function assign_all_sessionids(){

$conn = sql_connect();

// getting users count
// here just change 'id' to your id parameter
$result = mysqli_query($conn, "SELECT id FROM accounts");
$arr = $result->fetch_array(MYSQLI_NUM);

// executing N times
for($i = 0; $i < $result->num_rows; $i++){
$sessionid = generate_sessionid();
// here just change 'id' to your id parameter again
mysqli_query($conn, "UPDATE accounts SET sessionid='$sessionid' WHERE `id`=".$arr[$i]);
}

sql_disconnect($conn);
}

关于php - 为每个 MySQL 行调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34496687/

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