我发现一些效果很好但看起来很丑的东西 是否可以在一个查询中执行此操作?
$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次查询?
答案 0 :(得分: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