首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带2个参数的函数内的mysql查询

带2个参数的函数内的mysql查询
EN

Stack Overflow用户
提问于 2014-01-24 05:31:14
回答 1查看 42关注 0票数 0

我的函数是这样的

代码语言:javascript
复制
function all_products($where, $condition, $where2, $condition2) {
    $query = "SELECT *
              FROM `product` 
              WHERE 
              ".mysql_real_escape_string($where)." = '".mysql_real_escape_string($condition)."'  
              and  
              ".mysql_real_escape_string($where)." = '".mysql_real_escape_string($condition)."' 
              ";
    $query_run = mysql_query($query);
    return $query_run;
}

因此,每当我试图使用这个函数从db获取数据时,它都会返回行,即使只有$where和$condition为真,$where2和$condition2为假。

EN

回答 1

Stack Overflow用户

发布于 2014-01-24 05:48:28

您可以支持可变长度的条件。

代码语言:javascript
复制
function all_products(array $assoc) {
    foreach ($assoc as $key => $value) {
        $pairs[] = sprintf(
            "`%s` = '%s'",
            addcslashes($key, '`'),
            mysql_real_escape_string($value)
        );
    }
    $sql = empty($pairs) ?
           'SELECT NULL LIMIT 0' :
           'SELECT * FROM `product` WHERE ' . implode(' AND ', $pairs);
    return mysql_query($sql);
}

但是,所有的mysql_*函数都已经是不推荐使用的。我强烈建议您迁移到PDOmysqli

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21319743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档