0

私はCodeIgniterにこのアクティブレコードクエリを持っています:

$this->db->join('day-info', 'day-info.date = run-info.date');

何らかの理由で「日」と「情報」が分離され、エラーメッセージが表示されるため、期待どおりに実行されません。どうすればこれを修正できますか?

4

1 に答える 1

1

これが機能しない理由は、-(ハイフン) が演算子であるためです。

テーブルにday-info名前を付けることは、非標準のテーブル名です。

テーブル/列名の周りに (`) 追加することで、これを修正できると思います。バックティックがエスケープされているため、コードを編集しても適切に表示されません。back-ticks

(標準 SQL では二重引用符を使用できますが、MySQL ではバックティックを使用します)。

しかし、毎回フィールドを手動でエスケープしたいですか?

私の意見では、_代わりにテーブル名とフィールド名にアンダースコアを使用することをお勧めします。

于 2011-01-07T09:10:54.513 に答える