帮助多个查询(PHP / MySQL)

时间:2011-03-29 14:02:16

标签: php mysql

请注意我是初学者。

我的情况是:

我正在尝试在动态表单背面运行多个查询。因此,数据将最终出现在两个不同的表中。

我目前成功存储到我的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行的值计数不匹配”

3 个答案:

答案 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)

查看mysql_insert_id()

// store item structure info into item_bank_tb
mysql_query($query);
$itemid = mysql_insert_id();

// now store different answers