2017-05-31 2 views
1

を出発物質として特定の単語を持つレコードを検索し、しかしときに、このようなuseコマンド:私は、MySQLデータベースのレコードを検索したい単語

$sql="SELECT name FROM students WHERE name LIKE '%name%'"; 

、それが含まれている文字ですべてのレコードを返します。

しかし、その文字で始まる名前のレコードだけを検索したいのですが。文字列ができるようになる前に

1)%(ゼロ長さを含む)

%はあなたが任意の長さの任意の文字列を一致させることができます:

答えて

5

あなたはこのようにそれを試して、ワイルドカードのいずれかを削除する必要があります。

$sql="SELECT name FROM students WHERE name LIKE 'name%'"; 

%文字がこちら側の任意の文字を意味します。

%nameを入力すると、nameで終わるものがあり、name%で始まるものは、名前で始まるものを意味します。しかし、あなたが%name%を行うときに、それは意味し、言葉が含まれているものはname

いくつかの例:

SELECT name FROM students WHERE name LIKE 'name%' 

は 'MYNAME'

SELECT name FROM students WHERE name like '%name' 

は「MYNAMEに一致するだろう 'namemy' と一致しますがないだろう'が'ネームミー 'ではない

SELECT name FROM students WHERE name like '%name%' 

' myname 'と' AND 'namemy'

+0

ありがとうございました....私はその小さなコンセプトにこだわっていました。もう一度ありがとうございます –

+0

@GuaravArora問題ありません – FMashiro

3

この

$sql="SELECT name FROM students WHERE name LIKE 'name%'"; 

、について説明してみてください必要な列の値の終わりを文字列に一致させるには

文字列はあなたが必要な列の値を一致させることができます後
Example - $sql="SELECT name FROM students WHERE name LIKE '%name'"; 

2)%はあなたの文字列で始まる

Example - $sql="SELECT name FROM students WHERE name LIKE 'name%'"; 

3)の前に、文字列を使用して、文字列を含む必要な列の値と一致することができます後%どこでも。

Example - $sql="SELECT name FROM students WHERE name LIKE '%name%'"; 
関連する問題