它没有在数据库中正确插入模块

时间:2012-03-30 23:02:11

标签: php

我有下面的下拉菜单,它从数据库中检索可能的模块ID和用户可以从中选择的模块名称。

以下是此代码:

 $moduleHTML = ""; 
       $moduleHTML .= '<select name="module" id="modulesDrop">'.PHP_EOL;
       $moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL;      
            foreach ($courseData['Modules'] as $moduleId => $moduleData) {        

            $moduleHTML .= "<option value='".$moduleId.' '.$moduleData['ModuleName']."'>" . $moduleId . " - " . $moduleData['ModuleName'] ."</option>".PHP_EOL;        
  } 
            }
            $moduleHTML .= '</select>';

现在提交表单时,在下一页上我只想将'ModuleId'插入'ModuleId'字段。但它正在做的是它插入moduleId和ModuleName的第一个字母。

例如,如果用户从下拉菜单中选择模块“CHI2520 Systems Strategy”,那么当我将其插入数据库时​​,而不是在'ModuleId'字段中插入'CHI2520'时,它会插入'CHI2520 S '在'ModuleId'。

如何修复插入以便它只插入模块ID而不是模块ID和模块名称的第一个字母?

以下是INSERT VALUES到数据库中的代码:

$sql="INSERT INTO Session (ModuleId)
VALUES
(' ". mysql_real_escape_string( $_POST['module'] ) . "')";

1 个答案:

答案 0 :(得分:1)

更改此部分:

"<option value='".$moduleId.' '.$moduleData['ModuleName']."'>"

"<option value='$moduleID'>"