私はcodeigniterを使用しており、ほとんどの場合、クエリにアクティブレコードを使用しています(自動的にエスケープされます)が、変数が原因で、このクエリはうまく収まらないようです。したがって、クエリを手動でエスケープする方法を理解する必要があります。
Codeigniterのドキュメントでは、次の方法でクエリをエスケープすることを提案しています。
$sql = "INSERT INTO table (title) VALUES(".$this->db->escape($title).")";
私の元のクエリ
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}'";
私のエスケープされたクエリ
$sql = "SELECT * FROM (`user_language`) WHERE `user_id` = '{$id}' VALUES(".$this->db->escape($user_language).")";
しかし、構文を正しく理解するのに問題があります。エラーメッセージは次のとおりです。
- PHPエラーメッセージ:未定義の変数:user_language
- SQLエラー:構文が間違っています...1行目の「VALUES(NULL)」の近く