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

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

在 MySQL 準備語句中將 2+ 個數組綁定為參數的解決方案?

在 MySQL 準備語句中將 2+ 個數組綁定為參數的解決方案?

PHP
SMILET 2022-12-11 10:26:50
我能夠綁定 1 個數組作為參數沒問題。但是,我正在嘗試將 2+ 個數組綁定為參數,但效果不是很好。解包后我不斷收到無法使用位置參數的錯誤。如何將數組組合為參數?$query="SELECT price FROM products WHERE status='1'";if(isset($_POST['category'])){    $category_filter = join(',', array_fill(0, count($_POST['category']), '?'));    $sql .= ' AND category IN ('.$category_filter.')';}if(isset($_POST['location'])){    $location_filter = join(',', array_fill(0, count($_POST['location']), '?'));    $sql .= ' AND location IN ('.$location_filter.')';}$stmt = $conn->prepare($query);$stmt->bind_param(str_repeat('ss', count($_POST['category'],$_POST['location'])), ...$_POST['category'],...$_POST['location']);$stmt->execute();$stmt->bind_result($price);
查看完整描述

1 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

您將不得不將兩個列表組合在一起,然后將它們一次性綁定......


$params = array_merge($_POST['category'],$_POST['location']);

$stmt->bind_param(str_repeat('s', count($params)), ...$params);


查看完整回答
反對 回復 2022-12-11
  • 1 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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