它不是';t在数据库中正确插入模块


It isn't inserting the module corretly in the database

我在下面有一个下拉菜单,它从数据库中检索可能的模块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"字段中插入"CHI2520S",而不是在"ModuleId"中插入"CHI2520 S"。

如何固定插入,使其仅插入模块Id,而不插入模块Id和模块名称的第一个字母?

以下是将值插入数据库的代码:

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

更改此部分:

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

"<option value='$moduleID'>"