2016-07-24 12 views
0

私はクエリでデータを受け取るためにtriyngです。クエリは私のデータベースの任意の列に置くことができますが、私は同じ国のデータを取得するだけです。それは動作していません。データベースベースのクエリから情報を取得しようとしましたが、国(場所)によって決定されました

URLは次のようになります:?search.phpクエリ= ECON &国=イングランド

ので、クエリは次のようになりますでしょうECONが含まれてい

何でも "ECON" と国は "イングランド" ですそれは最初..イギリスからも

ある場合、私はURL

$searchQuery = $_GET['query']; 
$searchCountry = $_GET['country']; 

から変数を取得収集しますここで、私はその後、明らかに私は、JSONにそれをプリントアウトし

$stmt = $db->prepare($sth); 
$stmt->execute(array($searchCountry, $searchQuery, $searchQuery, $searchQuery, $searchQuery)); 
$result = $stmt->fetchAll(PDO::FETCH_ASSOC); 

を移入私のSQL

SELECT * from sbEvents 
WHERE EventCountry = ? 
AND (Name   LIKE ? 
OR Description LIKE ? 
OR Address  LIKE ? 
OR Author  LIKE ?) 

です。これは、国の部分を削除した場合に機能します(それは間違っているものではありません)。私はそれが私のSQL構造体であると信じています:

答えて

0

そう、like節はその周りに%string% 。

$sq = "%$searchQuery%"; 
$stmt->execute(array($searchCountry, $sq, $sq, $sq, $sq)); 
+0

ありがとうございます。 %でカプセル化しているのはどういうことでしょうか? –

+0

のような節が頻繁に%です。 $ searchquery%になると、文字列の後にデータが表示されます。 %$ searchqueryは文字列の前にデータを表示します。 –

関連する問題