我正在使用drupal 6.15并在drupal中完成我的第一个项目。使用db_query
运行以下查询时遇到问题我在列'tag'中有drupal,delhi关键字,带有表名标记。
db_query(SELECT * FROM {tagging} WHERE标签LIKE'%drup%')不会检索正确的输出。
它显示为null但查询修改如此,
db_query(SELECT * FROM {tagging} WHERE标签LIKE'duup%')检索“drupal”作为输出
最后我使用了php核心mysql_query
mysql_query(SELECT * FROM tagging
WHERE标签LIKE'%drup%')它检索确切的正确输出“drupal”。
任何人都有解决方案,
Thanxs, 戈壁
答案 0 :(得分:2)
出于安全原因,最好在db_query中使用修饰符。
可以使用以下修饰符:(请参阅http://api.drupal.org/api/function/db_query)
%s表示字符串
整数的%d
浮点数%f
二进制类型的%b
%% for%
按如下方式编写查询:
$sql = "SELECT * FROM {tagging} WHERE tag LIKE '%%%s%%'";
db_query($sql, "drup");