我有以下问题注册后如何将数组中的数据保存在同一文件中,这是场景。
用户在网站上注册,他像往常一样得到一个 ID 作为 SQL 的主键,还有一个随机代码,在这种情况下是一个随机数,这个数字稍后将被使用,但现在我只需要一个离开来保存我的数据...
因此,当用户第一次注册时,脚本会从 sql 中生成 3 个随机问题,其中表有超过 400 个问题,每个用户只得到 3 个问题。所以
这是我得到这个随机问题的代码......
$questionsID = mysql_query("SELECT * FROM questions ORDER BY RAND() LIMIT 3");
$ids = array();
while($row = mysql_fetch_array($questionsID)){
$ids[] = $row['id'];
}
print_r($ids);
有了它,我只得到了身份证,这就是我现在所需要的......
最终结果是 3 个 ID,正如我在 SQL 查询中所说,我只想要整个表中的 3 个随机 ID,所以它看起来像这样:
Array
(
[0] => 2
[1] => 1
[2] => 3
)
但是,我没有看到,只有当我去我的浏览器时,请耐心等待我还在学习所以,此时我有我的 6 位数的特殊代码,它存储在不同的表中
此代码将与问题相关联,因为代码也与用户相关联......我的表格是:用户,特殊代码,问题,问题_for_user
最后我的表 questions_for_users 应该是这样的
ID | special_code | question_id
1 | 444444 | 2
2 | 444444 | 1
3 | 444444 | 3
4 | 232323 | 56
5 | 232323 | 4
...每个特殊代码的每个用户都有儿子...
所以我的问题是,如何将我的数据保存到数组中的 sql 表 questions_for_user 中,如果数组在 print_r($ids) 中......或者如果有另一种保存数据的方法,请分享......谢谢你。
所以,我感谢大家对我的帮助,你们的一些想法确实是独立的......使用 jeroen 解决方案确实有效,但是当我将它放入我的完整代码时它停止工作......我从未使用过 serialize(),所以我真的不知道它是如何工作的,但我可以猜到这样的事情:用于在我的 sql 中保存数据
$array_string=mysql_escape_string(serialize($array));
和类似的东西
$array= unserialize($results['ids']);
获取信息......我不知道,我可能是错的......无论如何......
所以我为你即将看到的道歉:我知道这不是最好的方法,一些开发人员会想打我的头!...
为了保存数据,我在预览查询中进行了另一个查询,如下所示:
$questionsID = mysql_query("SELECT * FROM questions ORDER BY RAND() LIMIT 3");
// $ids = array();
while($row = mysql_fetch_array($questionsID)){
$ids = $row['id'];
mysql_query("INSERT INTO user_questions(special_code, question_id) VALUES ('$specialCode_by_POST','$ids')") or die("".mysql_error());
}
这成功了...... :) 我得到了我想要的桌子
如果您认为我应该以不同的方式执行此操作,请分享解决方案,谢谢。