私を困惑させてきた奇妙な問題が少しあります。私がやろうとしているのは、データベース テーブルに対してクエリを実行することだけですが、何らかの理由で CodeIgniter がクエリにアポストロフィを挿入しているため、ページが壊れてしまいます。
私のコードは次のようになります。
$this->db->select("SUBSTRING(body,5)");
$this->db->order_by("date", "desc");
$this->data['query'] = $this->db->get_where('blog-entries', array('status' => 'P'), 3);
しかし、このページでエラーが発生します。
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM (`blog-entries`) WHERE `status` = 'P' ORDER BY `date` desc LIMIT 3' at line 2
クエリは実際には次のように実行されています。
SELECT SUBSTRING(body, `5)` FROM (`blog-entries`) WHERE `status` = 'P' ORDER BY `date` desc LIMIT 3
ご覧のとおり、何らかの理由でサブストリング内の数字 5 の周りにアポストロフィが追加されています。部分文字列を削除するとすべてが機能し、アポストロフィを削除してデータベースで直接クエリを実行すると、それも機能します。
なぜこれが起こっているのか、解決策があるのか についてのアイデアはありますか?
どうぞよろしくお願いいたします。
どうもありがとう、
G.