2010-04-16 90 views
-1

即時通訊使用drupal 6.15並在drupal中完成我的第一個項目。我用db_query運行下面的查詢時遇到問題Drupal db_query錯誤需要幫助

我在包含表名標記的'tag'列中添加了drupal,delhi關鍵字。

db_query(SELECT * FROM {tagging} WHERE tag LIKE'%drup%')不會檢索正確的輸出。

它顯示空但改性這樣的查詢,

db_query(SELECT * FROM {標記} WHERE標籤LIKE 'drup%')檢索 「drupal的」 作爲輸出

最後我使用的PHP的芯mysql_query

mysql_query(SELECT * FROM tagging WHERE tag LIKE'%drup%')它檢索確切的n個正確輸出「drupal」。

是任何一個有解決方案,

Thanxs, 戈壁

回答

2

最好是出於安全考慮,在db_query使用的改性劑。

下列修飾符是可用的:(參見http://api.drupal.org/api/function/db_query)字符串
%d爲整數
%F

%s於浮點
%B爲二進制類型
%%爲%

寫下您的查詢如下:

$sql = "SELECT * FROM {tagging} WHERE tag LIKE '%%%s%%'"; 
db_query($sql, "drup");