問題タブ [php-mssql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP 5.4 から 7.4 の mssql から sqlsrv への SQL クエリが実行されていない
ちょっとした序文 私は 1 年目のシステム管理者で、この会社を最新の状態にするためにサーバーを移行してきました。PHP 5.4 を実行しているサーバーに遭遇しました。それを PHP 7.4 に移行しようとしています。すべてがもともと mssql で書かれていたので、それを sqlsrv に移動しています。接続が機能しています。一部のクエリは正常に実行できますが、mssql 用に作成されたこれらのクエリを sqlsrv で動作させることができません。
私が知っていること:
$record
gettypeでテストした配列として返されます。$conn
簡単なクエリでDBからテーブルをクエリできるため、機能します。
SQL クエリは、SQL サーバーで正しく実行されます。
数日間これに苦労しているため、このスクリプト全体を書き直す必要があると感じているため、アドバイスをいただければ幸いです。if else
以下のスニペットは、チェーンに組み込まれた多くのクエリの 1 つにすぎません。
PHP 5.4 で書かれた元のコード:
私がやろうとしたこと:
php - INSERT INTO は 1 つのテーブルでは動作しませんが、他のテーブルでは動作し、更新も動作しますか?
私のPHP/SQLスクリプトは、クローンした新しいテーブルでは機能しませんが、これを使用して新しいテーブルをコピーしたテーブルでは完全に機能します:
ここに私の挿入フォームがあります:
そして、ここに私の編集フォームがあります:
2 つの異なるフォームを更新および挿入するプロセスは次のとおりです。
したがって、上記のスクリプトを使用すると、 dbo.newsのコンテンツを挿入および更新できました。
ただし、 DB1.dbo.news を作成した新しいテーブル ( DB1.dbo.slide ) に変更する と、「INSERT」が機能しません。
同じフォームと処理スクリプトを使用してデータを追加しようとしましたが、「INSERT」は dbo.slide では機能しませんが、dbo.news でテストするとデータを挿入できます。UPDATE もテストしましたが、 dbo.slide と dbo.newsの両方で動作しています。
INSERT の SAME スクリプトが他のテーブルで機能しているのに、新しいテーブル ( dbo.slide )では機能しないのはなぜですか。コードを変更していないため、文字通り混乱しています。データを挿入するテーブルを変更しただけで、INSERT 関数が機能しなくなりました。
これをデバッグして、この問題の原因を突き止める最善の方法は何ですか?