这是我能够做到的:
当用户填写表单以注册脚本时,会将注册信息插入表 ps_reg_users 。此表包含基本配置文件信息。
我添加了徽章/成就部分,以根据特定标准显示徽章。
我需要做什么:
用户注册后,将该用户添加到第一个查询中 id 的另一个表 ps_badges 。
id 在表格 ps_reg_users 上设置为自动递增,并在提交时插入 NULL ,从而分配下一个 ID
如何将查询插入 ps_reg_users ,然后在创建它之后检索 ID ,以根据 id 生成另一个查询?< / p>
的 PHP 的
$query = "INSERT INTO `" . DB_PREFIX . "reg_users` ( `id` , `first_name` , `last_name` , `password` , `email` , `date_time` , `user_status`, `verify_code` , `reward_points`, `ref_user`)
VALUES (NULL , '$first_name', '$last_name', '$password', '$e_email', '$date_time' , 'y', '$verify_code', '0' , '$ref_uid')";
这个^有效。
我需要在
之后立即执行此操作$query = "INSERT INTO `" . DB_PREFIX . "badges` ( `user_id` , `pts_reputation` , `pts_comments` , `pts_uploads` , `pts_downloads` , `pts_featured` , `pts_activity`, `pts_refer`, `pts_donator` , `pts_country`)
VALUES (NULL , '0', '0', '0', '0', '0', '0', '0', '0', NULL)";
我希望我不要过度解释,我想我需要点击LAST_INSERT_ID(),但我如何从第一个查询中获取它?
答案 0 :(得分:1)
基本顺序:
$sql = "INSERT ....";
$result = mysql_query($sql) or die(mysql_error());
$id = mysql_insert_id();
$sql = "INSERT .... (id,...) VALUES ($id, ...);"
$result = mysql_query($sql) or die(mysql_error());
当然,您仍在使用过时的界面,并且应该切换到mysqli或PDO。
答案 1 :(得分:0)
mysql_insert_id(); mysql函数返回最后插入的id