繁体   English   中英

php mysql根据第一个插入ID执行2条插入语句

[英]php mysql execute 2 insert statements based on first insert ID

这是我能做的:

当用户填写表单进行注册时,脚本会将注册信息插入表ps_reg_users中 该表包含基本配置文件信息。

我添加了“徽章/成就”部分,以根据某些条件显示徽章。

我需要做什么:

用户注册后,将该用户添加到具有第一个查询的ID的另一个表ps_badges中

id设置为在表ps_reg_users上自动递增,并在提交时插入NULL ,从而分配下一个id

我将如何在ps_reg_users中插入查询,然后在创建ID之后根据该ID进行另一个查询来检索ID

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(),但是如何从第一个查询中获取呢?

基本顺序:

$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。

mysql_insert_id(); mysql函数返回最后插入的id

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM