PDO - 当AzureSQL返回结果时,“无字段”结果

时间:2012-08-14 15:17:42

标签: php azure pdo

我正在使用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。

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

任何帮助都会很棒!

干杯!

1 个答案:

答案 0 :(得分:1)

您是否尝试过PDO::lastInsertId()

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