これは単純な状況ですが、この問題の原因を理解したいと思いました。次のコードがあります(たとえば、変更されています):
SELECT `Transactions`.*, CONCAT_WS(" ", `People`.`first_name`, `People`.`last_name`) AS full_name ...
私のローカルマシンには次のものがあります:
- ウィンドウズ10
- アパッチ 2.4.25
- PHP 7.4.11
- MySQL 5.7.25
その組み合わせで、次のコードは正常に動作します。
リモートサーバーには次のものがあります。
- Ubuntu 20.04.1 LTS
- アパッチ 2.4.41
- PHP 7.4.3
- MySQL 8.0.19
そのため、データ テーブルを使用するセクションがあり、データ テーブルはサーバー側の処理を使用して情報を取得します。ローカルでは情報が正しく表示されますが、リモートサーバーでは常に空の配列が得られます。そこで、リモート サーバーで同じ SQL コマンドを実行しようとしたところ、次のエラーが発生しました。
#1054 - Unknown column ' ' in 'field list'
CONCAT_WS
私のSQLは正しく形成されていたので、おそらく問題は関数に関連していると思いました.
そこで、次のように変更することにしました。
SELECT `Transactions`.*, CONCAT_WS(' ', `People`.`first_name`, `People`.`last_name`) AS full_name ...
私は基本的にに変更CONCAT_WS(" ",
しCONCAT_WS(' ',
、コードは意図したとおりに機能しました。
これが何らかの形で影響を与えるかどうかはわかりませんが、これは MySQL の使用要件CONCAT_WS
またはその他の要件の変更ですか?
他の場所で一重引用符で使用しても問題ありませんか?