gpt4 book ai didi

php - 搜索文件并将其存储在变量 php 中

转载 作者:行者123 更新时间:2023-11-30 00:54:35 26 4
gpt4 key购买 nike

我有一个像这样的文本文件

1 wordsgohere
2 morewordsgohere
3 yougetthepoint

我想将上面的字符串之一分配给该人的 user_id。假设您是第三个注册的人,您的 user_id 是 3,您的 Deposit_id 是“yougetthepoint”。然而,当我 echo user_id 时,即使数据库中有 2 或 3 个用户,它也始终为 0,并且当查看数据库时,id 号会增加。它也不会将用户放入数据库中。如果我用其他东西替换 Deposit_id ,它会将用户放入数据库中。我认为这是因为 new_str 从未被定义。

    // id of new user
$user_id = $this->db_connection->lastInsertId();

echo $user_id;

// searches text file for address
$lines_array = file("test.txt");

foreach($lines_array as $line) {
echo $line;
if(strpos($line, $user_id) != false) {
list(, $new_str) = explode($user_id, $line);

}
}


// write new users data into database
$query_new_user_insert = $this->db_connection->prepare('INSERT INTO users (deposit_id, user_name, user_password_hash, user_email, user_activation_hash, user_registration_ip, user_registration_datetime) VALUES(:deposit_id, :user_name, :user_password_hash, :user_email, :user_activation_hash, :user_registration_ip, now())');
$query_new_user_insert->bindValue(':deposit_id', $new_str, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_name', $user_name, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_password_hash', $user_password_hash, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_email', $user_email, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_activation_hash', $user_activation_hash, PDO::PARAM_STR);
$query_new_user_insert->bindValue(':user_registration_ip', $_SERVER['REMOTE_ADDR'], PDO::PARAM_STR);

$query_new_user_insert->execute();

任何帮助都会很棒,谢谢。

最佳答案

正如有些人在评论中提到的那样,您应该检查语句的顺序。

首先将该行插入数据库。执行时数据库将生成您随后可以检索的 ID。

现在您想要将 Deposit_id 添加到生成的条目中。只需更新条目即可(UPDATE users SET Deposit_id=:deposit_id WHERE user_id=:user_id;)。

但我认为你会得到一个你不想要的结果。

文本文件中的数字真的是 user_id 吗?或者只是一个枚举?您可以解析它并按照文件的顺序创建一个包含 Deposit_ids 的数组。现在,您可以通过对每个数组条目运行一次插入来插入所有行

关于php - 搜索文件并将其存储在变量 php 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20692811/

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