我有一个包含3个字段的表字段id, Name, Email (id是auto_increment字段)。我想在PHP中执行以下查询,但它没有返回任何结果。
INSERT INTO user_name (Name, Email) VALUES ('Example', 'example@xyz.com');
SELECT LAST_INSERT_ID() AS 'userid';当我在PHP中执行上面的查询时,如下所示,它不会返回任何东西。
$_SQL="INSERT INTO user_name (Name,Email) VALUES ('Example', 'example@xyz.com');
SELECT LAST_INSERT_ID() AS 'userid';";
$result_last_id = @mysql_query($_SQL);
$rs_insert = mysql_fetch_array($result_last_id);
$new_userid = $rs_insert['userid'];谁能告诉我如何将这两个查询合并为一个。
发布于 2009-07-13 07:29:25
让我们来看看mysql_insert_id()函数。
mysql_query($insertStatementOnly);
$new_userid = mysql_insert_id();发布于 2009-07-13 07:32:30
看起来您不需要执行多个查询,但我在下面介绍了如何执行。您需要的是最后插入的id,它是从mysql_insert_id获得的。
执行多个查询
来自对mysql_query文档的评论
文档声称“不支持多个查询”。
但是,似乎支持多个查询。您只需将标志65536作为mysql_connect的5参数(client_flags)传递即可。该值在/usr/include/mysql/mysql_com.h:#define CLIENT_MULTI_STATEMENTS (1UL << 16) /* Enable/disable multi-stmt support */中定义
一次执行多个查询时,mysql_query函数将只返回第一个查询的结果。其他查询也将被执行,但您不会得到它们的结果。
或者,看看mysqli库,它有一个multi_query method。
发布于 2009-07-13 07:30:20
答案真的很简单:你就是做不到。
https://stackoverflow.com/questions/1118095
复制相似问题