如何执行一个同时包含 INSERT 和 SELECT 的查询,然后读取选择的结果?我想插入然后选择一些内容,所有这些都必须在一个查询中完成......
我知道它在单个查询中接受多个命令...但我想读取查询结果,但无法读取结果。我正在这样做:
$results=mysql_query("
INSERT INTO table1 (field1,field2) VALUES('aaa','bbbb') ON DUPLICATE KEY UPDATE `field1` = 'cccc', `field2`='dddddd';
SELECT field3 Form Table3 WHERE field3='eeeee';
",$connection);
while ($rows = mysql_fetch_array($results, MYSQL_NUM))
echo $rows[0];
Run Code Online (Sandbox Code Playgroud)
所有操作都必须在一个查询中完成...
为什么需要在一个查询中完成所有操作?
就像 Wiseguy 所说,我认为你正在寻找的东西叫做交易。
此外,考虑更新到 PDO 可能是一个好主意,这将为您提供更完整的工具集,例如事务和查询参数。
无论如何,为了回答你最初的问题,不,这是不可能的。
更新:这是 PDO 中的事务示例。
try
{
$pdo->beginTransaction();
$pdo->query(' ... ');
$pdo->query(' ... ');
$pdo->query(' ... ');
$pdo->commit();
}
catch(Exception $e)
{
$pdo->rollback();
die($e->getCode() . ': ' . $e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)