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

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

使用準備好的語句 PHP、MYSQL 將多個值插入多行

使用準備好的語句 PHP、MYSQL 將多個值插入多行

PHP
慕絲7291255 2021-06-02 13:08:15
我正在嘗試將多選中的數據插入具有多行的數據庫中。我曾經設法將它們全部插入一行,每行都有一個逗號,這從數據庫的角度來看并不是很好。來自多選的數據作為數組存儲在變量中,然后應該使用 foreach 循環將其填充到數據庫中的多行中。$array = implode((array)$_POST['multiselectdata']);$sql = "INSERT INTO tbl_example (column1, column2) VALUES (?, ?)";$stmt = mysqli_stmt_init($conn);if(!mysqli_stmt_prepare($stmt, $sql)){    ....    exit();}else {    mysqli_stmt_bind_param($stmt, "ii", $array, $id);    mysqli_stmt_execute($stmt);    $result= mysqli_stmt_store_result($stmt);    mysqli_fetch_all($result,MYSQLI_ASSOC);    foreach($result as $row){        echo $row["column1"];    }    exit()}因此,在每一行中,第 1 列和第 2 列中的數組應該顯示 1 個值,并且總是會有相同的 ID。目前這只會在數據庫中插入 1 個值,并且只有 1 行
查看完整描述

1 回答

?
收到一只叮咚

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

$_POST['multiselectdata']您可以將其作為數組迭代并為數組中的每個值執行準備好的語句,而不是內爆內容:


$stmt = mysqli_stmt_init($conn);

if(!mysqli_stmt_prepare($stmt, $sql)){

    // ....

    exit();

}

else {

    mysqli_stmt_bind_param($stmt, "ii", $value, $id);

    foreach (explode(',', $_POST['multiselectdata']) as $value) {

        mysqli_stmt_execute($stmt);

    }

}

請注意,調用mysqli_stmt_store_result上的INSERT查詢是沒有意義的,因為沒有結果集。foreach應該從您的代碼中刪除該行和后面的循環。


查看完整回答
反對 回復 2021-06-04
  • 1 回答
  • 0 關注
  • 185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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