2015-04-15 3 views
1

Je souhaite définir le champ à droite et le mot de recherche à gauche.Puis-je utiliser "where" search_word 'comme' field '"dans sql?

Il s'agit d'une recherche SQL normale.

select id where id like '1' 

Je veux faire comme ça.

select id where '1' like id 

J'ai essayé ces derniers dans fuelphp.

$query ->where($search_word,'like','field'); 

$query ->where($search_word,'like',DB::expr("CONCAT('%','field','%'")); 

$query ->where('field','like',DB::expr("CONCAT('%',$search_word,'%'")); 

Ces erreur de syntaxe SQL renvoyée.

À quel point ces erreurs se produisent-elles?

+0

COMME sans caractère générique (par exemple%), ne fait pas beaucoup de sens. Pourquoi ne pas utiliser = à la place? – jarlh

+0

Le mot recherché est plus long que la valeur du champ. Par exemple, la valeur du champ en sql est "apple" et le mot de recherche est "orangeappledog". Donc, je ne peux pas utiliser "=". C'est difficile à expliquer, cependant. – user3119018

Répondre

0

Essayez de spécifier comme:

$query ->where(1,'like', $search_word);