如何验证数据以确保使用PHPExcel在数据库中只上载允许的字符串
我正在构建一个上传功能,将客户端数据导入codeigniter应用程序中的MySQL数据库。为了打开、读取和处理从excel到MySQL数据库的数据,我正在使用PHPExcel库 上传的一个要求是脚本只允许PHPExcel读取列中的某些值。若提供了任何不允许的值,则脚本应拒绝该行 例如:我有一个名为panStatus(客户机表中的列)的属性。我需要确保上传的excel文件只包含panStatus的两个可能值中的一个,即“公司”或“非公司”。表中不应插入任何其他内容 我已经想出了以下代码,但我相信会有更好的方法来做同样的事情如何验证数据以确保使用PHPExcel在数据库中只上载允许的字符串,php,phpexcel,Php,Phpexcel,我正在构建一个上传功能,将客户端数据导入codeigniter应用程序中的MySQL数据库。为了打开、读取和处理从excel到MySQL数据库的数据,我正在使用PHPExcel库 上传的一个要求是脚本只允许PHPExcel读取列中的某些值。若提供了任何不允许的值,则脚本应拒绝该行 例如:我有一个名为panStatus(客户机表中的列)的属性。我需要确保上传的excel文件只包含panStatus的两个可能值中的一个,即“公司”或“非公司”。表中不应插入任何其他内容 我已经想出了以下代码,但我相信
public function client_bulk_do_insert()
{
$result = $this->client_model->get_list_of_client_uploaded_files();
if($result)
{
$this->load->library('PHPExcel');
foreach ($result->result_array() as $row) {
$file_id = $row['id'];
$file_name = CLIENT_UPLOAD_FILE_PATH.$row['file_name'];
$data = excelToArray($file_name);
foreach ($data as $key => $actualArray) {
//perform validations
if(company_check($actualArray['nameClient']))
{
$error[] = 'Invalid Client Name or Client Already Present';
}
$pan_status = array('Company','Non Company');
$youtube_verified = array('No','Yes');
$client_status = array('NA','Partnership', 'Prop','Private Limited','Individual');
if(!array_search($actualArray['panStatus'],$pan_status))
{
$error[] = 'Invalid Pan Status Value';
}
if(!array_search($actualArray['youtubeVerified'],$youtube_verified))
{
$error[] = 'Invalid Youtube Verified Value';
}
if(!array_search($actualArray['clientStatus'],$client_status))
{
$error[] = 'Invalid Client Status Value';
}
$result = $this->client_model->create_new_client($data);
}
}
}
}
请注意,在实际操作中,我必须在22列上传的表单上进行验证,至少输入1500行。PHPExcel中是否有内置的支持来执行此类验证?我不理解这个问题,如果有22个检查和1500行,有效性检查的总数将是22*1500,没有办法解决。我不理解这个问题,如果有22个检查和1500行,有效性检查的总数将是22*1500,这是没有办法的。