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()か?

MSSQLが複数の結果セットをサポートしていないPDOについて読んだことは確かですが、現時点では参照が見つかりません:-/。シナリオで上記の関数を使用できる場合、これが最も簡単な解決策になる可能性があります。

于 2012-08-14T16:07:48.800 に答える