まず、データベース テーブル フィールドに'company_name'=>'Test Company'として次の詳細があります。入力データ ('Test Company' または 'TestCompany' のいずれか) を比較した後、true を返したいのですが、それが存在するためです。文字列 (テスト会社)。存在または非存在を見つけるためのクエリを提案してください。以下を使用しましたが、すべてのシナリオで機能しませんでした。
$companyname="TestCompany";
$this->db->select("*");
$companynames=str_replace(' ', '', $companyname);
$where = "company in ('$companyname','$companynames')" ;
// $where = "'company' = $companyname OR 'company' = $companynames'";
$this->db->where($where);
$query=$this->db->get('users');
$val= $query->result_array();
if(empty($val)){
echo '1';//non-existence of 'TestCompany' and 'Test Company'
}
else {
echo '2';//existence of 'TestCompany' or 'Test Company'
}
上記のコードは、データベースに「Test Company」が存在する場合でも、常に「1」を出力します。
注:問題は、「TestCompany」で選択すると、クエリが次のようになることです
$where = "'company' = TestCompany OR 'company' = TestCompany'";
しかし、データベースには「Test Company」が含まれており、クエリは結果を返しません。この状況を解決したいと考えています。