我試圖插入數據庫發佈的表單值,從通過php生成的html表單中檢索。然而它並沒有插入值,但是當我打印發布的變量時,我確實看到了這些值。這是代碼。從php表格獲取價值
這是輸出HTML
<?php
$find = mysql_query("SELECT file_name FROM chemlab_files WHERE student_id = '$student_id'") or die ("Could not search!");
while($row = mysql_fetch_array($find)){
$file_name = $row['file_name'];
$_SESSION['file_name'] = $file_name;
echo "<label class='checkbox'><input type='checkbox' name='file_name[]' value='{$file_name}'>$file_name</label><br><input type='text' name='description[]' value='' placeholder='description'>";
}
?>
這是表單處理程序
//description
if(isset($_POST['description'])){
foreach($_POST['description'] as $description){
$file_name_description = mysql_real_escape_string($description);
//print_r($file_name_description);
}
}
$result = mysql_query("SELECT * FROM chemlab_files WHERE student_id='$student_id'") or die (mysql_error());
//if the student_id does exist, proceed
if($result==1){
//insert into chemlab_files update description
$insert_file_name_description = mysql_query("UPDATE chemlab_files SET description='$file_name_description' WHERE file_name='$file_name'");
}else{
echo 'something went wrong during sharing!';
exit();
我可以打印變量$ file_name_description但不能插入到數據庫用PHP編寫的形式。
要更清楚地表單有多個字段,永遠file_name(複選框value =「$ file_name」)有一個描述字段。當我爲$ file_name和$ description執行print_r時,我得到了所有字段的值。但是,當我將描述插入到數據庫中時,什麼都不會發生。
你似乎沒有在任何地方定義'$ file_name' – 2013-02-25 22:28:00
你是否試過在列標題周圍放置''? – christopher 2013-02-25 22:28:03
'$ file_name'的值是什麼?這可能是你的問題。 – mcryan 2013-02-25 22:28:27