--- fenglin/bbs/search_article_v2.php 2026/01/22 01:50:40 1.5 +++ fenglin/bbs/search_article_v2.php 2026/02/11 10:59:14 1.6 @@ -151,13 +151,13 @@ "articles" => array(), ); - $aid_list = "-1"; + $aid_list = array(-1); if ($solr_obj->response->docs !== false) { foreach ($solr_obj->response->docs as $doc) { - $aid_list .= (", " . $doc["ArticleId"]); + array_push($aid_list, $doc["ArticleId"]); } } @@ -170,8 +170,9 @@ section_config.sname, section_config.title AS s_title FROM bbs INNER JOIN section_config ON bbs.SID = section_config.SID INNER JOIN section_class ON section_config.CID = section_class.CID" . - " WHERE bbs.AID in ($aid_list)" . - " ORDER BY sub_dt DESC"; + " WHERE bbs.AID in (" . + implode(",", $aid_list) . + ") ORDER BY sub_dt DESC"; $rs = mysqli_query($db_conn, $sql); if ($rs == false) @@ -187,13 +188,13 @@ if ($_SESSION["BBS_uid"] > 0) { - $aid_list = "-1"; + $aid_list = array(-1); while ($row = mysqli_fetch_array($rs)) { if ((new DateTimeImmutable("-" . $BBS_new_article_period . " day")) < (new DateTimeImmutable($row["sub_dt"]))) { - $aid_list .= (", " . $row["AID"]); + array_push($aid_list, $row["AID"]); } else { @@ -203,9 +204,11 @@ mysqli_data_seek($rs, 0); - if ($aid_list != "-1") + if (count($aid_list) > 1) { - $sql = "SELECT AID FROM view_article_log WHERE AID IN ($aid_list) AND UID = " . $_SESSION["BBS_uid"]; + $sql = "SELECT AID FROM view_article_log WHERE AID IN (" . + implode(",", $aid_list) . + ") AND UID = " . $_SESSION["BBS_uid"]; $rs_view = mysqli_query($db_conn, $sql); if ($rs_view == false) @@ -269,16 +272,18 @@ } mysqli_free_result($rs); - $uid_list = "-1"; + $uid_list = array(-1); foreach ($author_list as $uid => $status) { - $uid_list .= (", " . $uid); + array_push($uid_list, $uid); } unset($author_list); $author_list = array(); - $sql = "SELECT UID FROM user_list WHERE UID IN ($uid_list) AND enable"; + $sql = "SELECT UID FROM user_list WHERE UID IN (" . + implode(",", $uid_list) . + ") AND enable"; $rs = mysqli_query($db_conn, $sql); if ($rs == false)