行,所以我有一個問題,我需要的產品ID的數組傳遞給我的sql語句下面我如何通過一個數組MySQL的聲明
$index = 0;
$products = $cart->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
$prod = $products[$index]['id'];
if (strpos($prod,"{")){
$product = preg_split("^[{}]^",$prod);
}else{
$product = $prod;
}
}
$product_query = tep_db_query("select cb.products_id, SUM(cb.customers_basket_quantity),SUM(p.products_rate) from " . TABLE_PRODUCTS . " p INNER JOIN " . TABLE_CUSTOMERS_BASKET . " cb ON p.products_id = cb.products_id
WHERE cb.customers_id ='" . $customer_id ."'
AND p.products_id IN '".$product ."'
");
結果總是
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Array'' at line 3
從產品p INNER JOIN中選擇cb.products_id,SUM(cb.customers_basket_quantity),SUM(p.products_rate)customers_basket cb ON p.products_id = cb.products_id WHERE cb.customers_id ='3'AND p.products_id IN'Array'
你能給我們var_dump($ product)嗎? – MIIB 2013-03-02 19:34:01
語法錯了。你需要實現的是...... WHERE p.products_id IN(1,2,3,4)'。通過將數組傳遞給字符串,只有'Array'將被插入。 – 2013-03-02 19:34:10
數組返回1 {4} 1 {3} 5對於某些具有與它們相關的選項的產品,所以我猜是我該如何分隔第一個字符? 1通過我的產品ID – user1493559 2013-03-02 19:34:10