插入 2 个不同的表格


Insert in 2 different tables

我正在尝试按怪物名称排序插入某些项目,

例如,有一个怪物叫"SPIDER",这个怪物有某些物品,例如:"骨头,腿,更多物品"蜘蛛的掉落都在"log_mitem"中。

所以我的问题是当我点击提交时,我只想创建一个成功创建的"log_create",但在"log_drops"表中我需要插入 E.X 的所有怪物蜘蛛项目,正如你所看到的,我已经使用了$items和$dropslq这个,但它不起作用。

$name = $db->real_escape_string(trim($_POST['name']));
$id = $db->real_escape_string(trim($_POST['id']));
$name2 = preg_replace('/'s+/', '', $name);
$game = $db->real_escape_string(trim($_POST['game']));
$info = $db->real_escape_string(trim($_POST['info'])); 
$mobname = $db->real_escape_string(trim($_POST['mobname']));
$sql = "INSERT INTO log_create(`name`, name2, game, monster, info)VALUES('$name', '$name2', '$game', '$mobname', '$info')";
$drop = "SELECT itemname FROM log_mitem ON mobname = '".$mobname."'";
if($dropres = $db->query($drop))
    $items = $dropres->itemname;
$dropslq = "INSERT INTO log_drops(item, mobname, game, log_id, log_name)VALUES('$items', '$mobname', '$game', '$id', '$name')";

使用序列化和反序列化函数 http://php.net/manual/en/function.serialize.php

如果您尝试插入多个项目,则需要在多插入子句或循环中执行此操作。否则,您可以将 items 数组序列化为分隔值(假设项名称不包含该分隔符),并在 php 中使用 implode()/explode() 进行序列化或解耦。你也可以考虑使用PHP的serialize()/deseralize()函数。