PDO PHP在BetweenPlaceholders中添加“AND”
发布时间:2020-12-13 21:46:03 所属栏目:PHP教程 来源:网络整理
导读:我想在我的SQL查询的键和值对参数之间添加“AND”,但我不知道如何.我试过搜索网但无法找到解决方案. $cdatahome = fetchCategory(array("status"="1","home"="1")); function fetchCategory(array $conditions){ $db = Core::getInstance(); $sql = "SELECT
我想在我的SQL查询的键和值对参数之间添加“AND”,但我不知道如何.我试过搜索网但无法找到解决方案.
$cdatahome = fetchCategory(array("status"=>"1","home"=>"1")); function fetchCategory(array $conditions){ $db = Core::getInstance(); $sql = "SELECT id,title FROM ruj_category WHERE "; $params = array(); foreach ($conditions as $column => $value) { if (preg_match('/^[a-z-.]+$/',$column)) { $sql .= "$column = ?"; $params[] = $value; } } $sql .= " order by title asc"; $res = $db->dbh->prepare($sql); $res->execute(array_values($params)); $res = $res->fetchAll(PDO::FETCH_ASSOC); return $res; 解决方法$cdatahome = fetchCategory(array("status"=>"1","home"=>"1")); function fetchCategory(array $conditions){ $db = Core::getInstance(); $sql = "SELECT id,title FROM ruj_category WHERE "; $params = array(); $i = 0; foreach ($conditions as $column => $value) { if (preg_match('/^[a-z-.]+$/',$column)) { if($i != 0){ $sql .= ' AND '; } $sql .= "$column = ?"; $params[] = $value; $i++; } } $sql .= " order by title asc"; $res = $db->dbh->prepare($sql); $res->execute(array_values($params)); $res = $res->fetchAll(PDO::FETCH_ASSOC); return $res; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |