亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

MySQL PHP,SELECT WHERE條件是一個數組

MySQL PHP,SELECT WHERE條件是一個數組

PHP
MMTTMM 2023-04-28 15:19:27
我正在嘗試從 db WHERE 條件是一個數組中選擇產品。我的方法在聲明數組時有效,但在提交表單后生成數組元素時無效。    $selected_categories = array();        //create empty array    if(isset($_POST['submit'])){          //if form is submitted        $name = $_POST['category'];        foreach ($name as $category){            $selected_categories[] = $category;          //add all checked checkboxes values into the array, every single $category element is text i.e. programming science        }        $get_products = "SELECT P.*, C.category_name, GROUP_CONCAT(category_name SEPARATOR ', ') AS cat FROM products P NATURAL JOIN categories C NATURAL JOIN product_to_categories WHERE category_name IN ('$selected_categories') GROUP BY product_name ORDER BY 1 DESC LIMIT $start_from,$per_page";    }問題(我認為)在數組中,因為當我使用數組中的一個元素時:... WHERE category_name IN ('$selected_categories[1]')...工作正常它也在使用時工作:... WHERE category_name IN ('programming', 'science')...
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

WHERE category_name IN ('$selected_categories')是錯誤的——該參數將被視為一個字符串文字,而不是一列單獨的文字。

使用WHERE FIND_IN_SET(category_name, '$selected_categories')。

中的單獨值$selected_categories必須嚴格用逗號分隔(如果使用其他分隔符則替換它)。


查看完整回答
反對 回復 2023-04-28
  • 1 回答
  • 0 關注
  • 177 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號