2013-04-01 65 views
-1

我正在運行以下查詢以顯示記錄。選擇查詢與變量(其中包含空間)

$weavername = $_GET["weavername"]; 

$result=mysql_query("SELECT co.contId, 
         co.contDate, 
         co.quality, 
         co.width, 
         co.weight, 
         co.quantity, 
         co.rate, 
         co.deliveryDate, 
         co.paymentTerms, 
         pa.partyName, 
         we.weaverName 
       FROM contract co 
       INNER JOIN party pa ON (co.partyId = pa.partyId) 
       INNER JOIN weaver we ON (co.weaverId = we.weaverId) 
WHERE we.weavername = '".$weavername."' ORDER BY co.contId"); 
echo mysql_error(); 

現在我的$weavername變量包含空格,例如Tulasi Cotton Mills。因此,當我運行查詢時,我不顯示任何記錄,因爲它只需要Tulasi作爲比較。

如何在我的查詢中匹配Tulasi Cotton Mills

我也嘗試了LIKE'$ weavername%',但它也顯示了weavername Tulasi Fabrics的記錄。

在此先感謝。

+1

試試'WHERE we.weavername LIKE'「。$ weavername。」''... –

+0

我試過David ..still同樣的結果... – ashah142

+6

請停止你正在做的事情並**立即**閱讀[SQL注入保護](http://bobby-tables.com/)和[正確的SQL轉義](http://bobby-tables.com/php)。你在這裏做什麼是非常危險的。如果此代碼位於公共互聯網上,您的整個網站可能會被徹底摧毀,甚至更糟糕。 – tadman

回答

0

如果您的表位於MyISAM中,您可以設置全文索引,然後在「Tulasi Cotton Mills」上進行匹配。有機會,你會得到不完全匹配的結果。