<form action="4.php" method="POST">
<select name="select2[]" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
<select name="select[]" multiple>
<option value="volvo1">Volvo1</option>
<option value="saab2">Saab2</option>
<option value="opel3">Opel3</option>
<option value="audi4">Audi4</option>
</select>
<input type="submit" name="sub" value="submit">
</form>
4.php陣列是不是插入數據庫
<?php
mysql_connect("localhost", "root", "");
$db=mysql_select_db("test");
if(isset($_POST['sub'])) {
$r=$_POST['select2'];
$f=$_POST['select'];
$val1 = implode("", $r);
$val2 = implode("", $f);
$r=mysql_query("insert into test1 (test,test1) values ('$val1','$val2') ");
}
?>
我在PHP語言工作。我使用的選擇多,並試圖在我的數據庫中添加值,但在一行中的所有值僅
這到底是什麼問題?你想要插入多行嗎?它沒有插入單行嗎?請詳細說明。 – David
@大衛是的。例如,如果我有兩列,即測試和測試1 ........,並且我從一個選擇中選擇volvo和saab,從其他選擇中選擇volvo1和saab1 ............... ..its顯示我這樣在一行volvovolvo1在測試和saabsaab1在test1 –
那麼,你只是在數據庫上執行一個'INSERT'語句,所以它只會插入一行。您還明確使用'implode()'將數組變爲單行的單個值。這聽起來像你想要做的是循環訪問數組並執行多個'mysql_query()'調用,每一行將被插入到數據庫中。 (另外,你一定要考慮使用'mysqli'而不是'mysql',並使用預準備語句和參數化查詢。目前你的代碼容易受到SQL注入攻擊。) – David