请注意我是初学者。
我的情况是:
我正在尝试在动态表单背面运行多个查询。因此,数据将最终出现在两个不同的表中。
我目前成功存储到我的item_bank,它有一个auto_increment itemId。
然后我想抓住刚刚在最后一个查询上创建的ItemId并将其插入到我的下一个查询中,我也在插入一个数组。 (我希望你能遵循这个)
首先,我甚至可以在一个页面上运行这样的多个查询吗?
以下是我对查询的尝试。目前第一个查询有效,但我无法获得从该查询生成的ItemId。
$ answers是一个数组。
// store item structure info into item_bank_tb
$query = "INSERT INTO item_bank_tb (item_type, user_id, unit_id, question_text, item_desc, item_name)
VALUES('$type','$creator','$unit','$text','$desc','$name')";
mysql_query($query) or die(mysql_error());
$itemid = mysql_insert_id();
//now store different answers
$query = "INSERT INTO answers_tb (item_id, text_value)VALUES('$itemid',' . implode(',', $answers) . ')";
mysql_query($query) or die(mysql_error());
这是我现在得到的错误:“列数与第1行的值计数不匹配”
答案 0 :(得分:2)
要获取PHP / MySQL中自动增量字段生成的ID,只需使用mysql_insert_id()函数。
答案 1 :(得分:0)
编辑:
// store item structure info into item_bank_tb
$query = "INSERT INTO item_bank_tb (item_type, user_id, unit_id, question_text, item_desc, item_name)
VALUES('$type','$creator','$unit','$text','$desc','$name')";
mysql_query($query) or die(mysql_error());
$itemid = mysql_insert_id();
//now store different answers
$answers = mysql_real_escape_string(implode(',', $answers));
$query = "INSERT INTO answers_tb (item_id, text_value) VALUES('$itemid','$answers')";
mysql_query($query) or die(mysql_error());
答案 2 :(得分:0)
// store item structure info into item_bank_tb
mysql_query($query);
$itemid = mysql_insert_id();
// now store different answers