簡體   English   中英

PHP選擇列表 - 在數據庫中插入多個值

[英]PHP Select List - Insert multiple values in database

我正在嘗試使用選擇列表在數據庫中插入多個值。 到目前為止我得到了什么:

HTML

<form enctype="multipart/form-data" action="" method="post">
            <select name="cars[]" multiple="multiple" style="width:300px">
            <?php 
            $getcars = mysql_query("SELECT cars_id, cars_name FROM car");
            while ($row = mysql_fetch_assoc($getcars)) {
                $car_id = $row['cars_id'];
                $car_name = $row['cars_name'];
            ?>
            <option value="<?php echo $car_id ?>"><?php echo $car_name ?></option>
            <?php } ?>
            </select><br />
            <input type="submit" name="submit" value="Submit"/><br/>
        </form> 

PHP

        $cars= $_POST['cars'];
        echo $cars;
        for($i = 0; $i < count($cars); $i++){
            echo $cars[$i];
            $carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')"); 
        }

不幸的是它不起作用,我試圖打印$ cars來檢查結果值。 它打印“陣列”,當我試圖打印$ cars [$ i]時,它什么都不打印。

有誰知道問題是什么?

應該刪除一個額外的關閉括號。 您沒有檢查您的查詢是否成功。

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')"); 

應該:

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]')") or die(mysql_error()); 

由於$ cars是一個數組,您可以使用print_rvar_dump打印其內容:

print_r($cars);
var_dump($cars);

有用的閱讀:
如何在PHP中獲取有用的錯誤消息?
不推薦使用mysql_ *函數

你有錯誤$ cars [$ i]]並且需要更改$ cars [$ i]

$carGroups = mysql_query("INSERT INTO car_groups VALUES('$company','$cars[$i]]')");

用很好的SQL修復php

   $cars= $_POST['cars'];
    echo $cars;
    foreach($cars as $i => $cars_name){
        echo $cars_name;
        $carGroups = mysql_query("INSERT INTO car_groups SET `fieldcompany`='{$company}', `fieldcars`='{$cars_name}'"); 
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM