1

好吧,我发现了一些可以完美运行但看起来很难看的东西是否可以在一个查询中执行此操作?

    $query = "INSERT INTO page(page_name, page_weight)
              VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

    $query2 = "SELECT page_id FROM page WHERE page_id = (SELECT MAX(page_id)  FROM page)";
    $result2 = mysql_query($query2);
    while($row = mysql_fetch_assoc($result2))
    {
        $query3 = "INSERT INTO content(page_id, content_type)
                   VALUES('".$row['page_id']."', '".mysql_real_escape_string($_POST['type'])."')";
        $result3 = mysql_query($query3);
    }

页面中的 page_id 是自动递增的,但内容中的 page_id 不是,是否可以以任何方式链接它们?

编辑:

谢谢 PLB 现在我有这个了

    $query = "INSERT INTO page(page_name, page_weight)
                VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

    $query3 = "INSERT INTO content(page_id, content_type)
                VALUES('".mysql_insert_id()."', '".mysql_real_escape_string($_POST['type'])."')";
    $result3 = mysql_query($query3);

是否可以进行 1 次查询?

4

1 回答 1

0

mysql_insert_id();返回最后插入的 id。使用它,您可以像这样删除选择查询:

    $query = "INSERT INTO page(page_name, page_weight)
                VALUES('".mysql_real_escape_string($_POST['name'])."', '".mysql_real_escape_string($_POST['weight'])."')";
    $result = mysql_query($query);

        $query3 = "INSERT INTO content(page_id, content_type)
                    VALUES('".mysql_insert_id()."', '".mysql_real_escape_string($_POST['type'])."')";
        $result3 = mysql_query($query3);

但我建议停止使用mysql_*函数并尝试mysqli_*PDO

于 2012-05-28T13:27:11.673 回答