检查db的字段名称是否存在字符串

时间:2014-05-07 11:58:09

标签: php mysql database

是否可以将数据库中的产品名称放入字符串中,如下例所示: -

SELECT product_name FROM table_name WHERE product_name IN ('hello Cannabicare hi Dread Rock Coffeeshop whatsup');

在上面的示例中,Cannabicare和Dread Rock Coffeeshop是产品名称,可以重复多次因为用户帖子动态生成字符串

在php中形成上面的查询,如

$search_product_name='hello Cannabicare hi Dread Rock Coffeeshop whatsup'; $query="SELECT product_name FROM table_name WHERE product_name IN ('".$search_product_name."')";

字符串可以包含('|,|@|#|,| etc..)

2 个答案:

答案 0 :(得分:0)

试试这个。只是我给出了关键概念。

第1步:爆炸你的句子(输入)

step2:执行sql命令取决于你的分割数组值

步骤3:将所有可能的产品名称推送到结果数组

例如:

$var = "your dynamic value";
$res = explode(" ",$var);
$prod_name = new array();
for($i=0;$i<count($res);$i++){
    $word = $res[$i];
    $prod_name = mysql_query("SELECT product_name FROM table_name WHERE product_name  LIKE '%".$word."%'");
    $productname = mysql_fetch_array($prod_name);
    array_push($prod_name,$productname);
}
print_r($prod_name);/* this is for just testing */

答案 1 :(得分:0)

您必须将每个产品名称指定为逗号分隔值。例如,如果您想从产品Cannabicare,Dread Rock Coffeeshop搜索,那么您必须在下面进行搜索

SELECT product_name FROM table_name WHERE product_name 
IN ('Cannabicare', 'Dread Rock Coffeeshop')