0

我正在使用 PDO::query 运行以下 SQL 语句:

INSERT INTO pages (template_id,user_id,page_default,page_internal_title,page_menu_text,page_nav_link,globalcontent_id,page_parent_id,page_order,page_active,page_show_in_menu,page_hide,page_created,page_updated,page_deleted,page_type) values (
4,1,'n','Test',
...snip...
'n','page');SELECT LAST_INSERT_ID=@@IDENTITY

如果我在 AzureSQL 管理器中运行直接按预期执行插入并返回 last_insert_id 它应该。

但是,当我调用fetchAll()从 PDO::query 返回的语句对象时,它会抛出“查询的活动结果不包含任何字段”。例外。PDO::query 正在工作,因为正在插入行,但好像选择失败(但此时它没有抛出异常),或者有一些明显的东西我错过了(很可能)。

任何帮助都会很棒!

干杯!

4

1 回答 1

1

你试过PDO::lastInsertId()吗?

我很确定我读过关于 PDO 的 MSSQL 不支持多个结果集,但我目前找不到参考:-/。如果您的场景允许您使用上述功能,这可能是最简单的解决方案。

于 2012-08-14T16:07:48.800 回答