duanjuebiao6730 2016-02-08 19:46
浏览 41
已采纳

在UNION查询中将php数组中的值作为参数传递

I want to pass values from array as individual parameter in a query and use them as below

Array
(
    [0] => some
    [1] => text
)

I want this kind of function

public function getData($some,$text)
{
$sql = " select * from table where field1 = '{$some}' OR field3 = {$some}      ";
$union = " UNION ";
$sql = " select * from table where field2 = '{$text}' or field4 = {$text}  ";
}

Note: The array may have Nth number of index.

  • 写回答

2条回答 默认 最新

  • dryeyhe0266 2016-02-09 04:42
    关注

    You can use the following:

    public function getQuery($dataArray) {
        $queryArray = array();
        foreach($dataArray as $data) {
            $query = "SELECT * from `table`";
            $conditionArray = array();
            foreach($data as $key => $value) {
                $conditionArray[] = "`$key` = `$value`";
            }
            if (!empty ($conditionArray)) {
                $query .= " WHERE ". implode(" OR ", $conditionArray);
            }
            $queryArray[] = $query;
        }
        return implode(" UNION ", $queryArray);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟