我有以下情况,我简化了表格,以便在这里保持可读性。
表格结构(注意:id
为auto-increment
)
列: id,text,rid
根据表单的输入,将2行插入表格中。
INSERT INTO tablename (id,text,rid)
VALUES (NULL, $usertext1, ??),(NULL, $usertext2, ??)
现在,我的问题出在哪里?
我需要第一个?和第二个?是 int ,两者都需要是第一次插入的自动增量 ID!我尝试了 LAST_INSERT_ID(),但它返回 0 。
我希望得到它的结果:
1 | abctext | 1
2 |拉拉| 1
3 | fajoif | 2
4 | oijgoi | 2
任何帮助都将受到高度赞赏:)
感谢。
答案 0 :(得分:0)
你必须遵循这样的事情来完成它:
<?php
$i=0;
$firstInsertId=0;
foreach($post as $value){// suppose each $post index contains the one complete post data
$usertxt=$value['text'];
$sql="INSERT INTO tablename (id,text,rid)
VALUES (NULL, $usertxt,$firstInsertId)";
$mysqli->query(sql);
if($i == 0)//flag to get first inserted Id
$firstInsertId=$mysqli->insert_id;
$i++;
}
$sql="update tablename set rid=$firstInsertId where id=$firstInsertId";
$mysqli->query(sql);