請對我溫柔,我對PHP和MySQL很陌生。
我試圖插入和檢索使用PDO的MySQL數據。 這裏是HTML形式將數據發送到使用POST使用PHP插入和檢索數組數據到MySQL pdo
<FORM ACTION="index.php" METHOD=POST>
Update# :
<INPUT TYPE=TEXT NAME="update_num" align="left" LENGTH=2 required >
<P>
<P>
ETO :
<INPUT TYPE=TEXT NAME="eto" LENGTH=30 >
</P>
<P>
CAD# :
<INPUT TYPE=TEXT NAME="cad" LENGTH=30 >
</P>
<p>
CMS:
</p>
<h6>Hold Down control(CTRL) key to select multiple CMSs</h6>
<SELECT NAME = "cms[]" multiple>
<option></option>>
<option>#1</option>>
<option>#2</option>>
<option>#3</option>>
<option>#4</option>>
</SELECT>
</p>
<INPUT TYPE=SUBMIT VALUE="Submit Form" align="center">
</FORM>
</INPUT>
我根據這個帖子從#1所作的修改我的PHP: Getting All $_POST From Multiple Select Value
我的PHP代碼如下所示:
$sql = "INSERT INTO dutypage (update_num, eto, cad, cms) VALUES (:update_num, :eto, :cad, :cms)";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':update_num', $_POST['update_num']);
$stmt->bindParam(':eto', $_POST['eto']);
$stmt->bindParam(':cad', $_POST['cad']);
$stmt->bindParam(':cms', $_POST['cms']);
$stmt->execute();
我的數據成功插入,但cms列現在只顯示陣列
我用下面的代碼來檢索數據
$query="SELECT cms FROM dutypage ORDER BY dateOf DESC";
$data=$conn->query($query);
$result = $data->fetchAll(PDO::FETCH_ASSOC);
var_dump($result);
foreach ($result as $output) {
echo $output['cms'];
echo "<br>";
}
,我只得到這樣的:
array(1) { [0]=> array(1) { ["cms"]=> string(5) "Array" } } Array
的形式爲我選擇的選項實際上被傳遞到陣列中的MySQL的?
請儘量避免爲實際文本內容放置大的,臃腫的屏幕截圖。我們無法以這種格式剪切和粘貼代碼,這在嘗試重現問題時通常很有幫助。 – tadman