我正在从批量操作导入.csv文件中的员工数据。有很多领域,如名,姓,电子邮件,联系号码,地址等。PHP脚本中的特殊字符停止执行
数据库中的电子邮件字段是索引/唯一。所以我已经对它进行了验证。
但我的问题是,当某些行包含特殊字符,如matiné[email protected]或dé[email protected][焦点]。
这将停止php脚本执行意外没有错误日志。我也经历了Apache错误日志/ PHP错误日志,但没有错误。请帮我防止这种情况。
我也尝试将字符编码方案设置为UTF-8或者Westorn-ISO-800等,但这不起作用。
代码片段:
` $firstname = $sd[0];
if ($firstname != '' || !empty($firstname)) {
$lastname = $sd[1];
$email = $sd[2];
if ($sd[3] != '' && $sd[3] != NULL) {
$password = md5($sd[3]);
}
$contactno = $sd[4];
$internalextension = $sd[5];
$companyid = $this->session->userdata('companyid');
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
return array("status" => FALSE, "message" => "Error while Importing Employee. Please Check Your .csv "
. "file; <br/> Your file contains Invalid Email Id at Line number" . ($count + 1) . ". Email: $email");
} else {
if ($count != 500) {
$query = $query . "(NULL, '" . $firstname . "', '" . $lastname . "', '" . $email . "', "
. "'" . $password . "', '" . $salt . "', 1, '" . $contactno . "',"
. "'" . $internalextension . "', 4, " . $companyid . ", '" . my_datenow() . "'),";
} else {
$query = $query . "(NULL, '" . $firstname . "', '" . $lastname . "', '" . $email . "', "
. "'" . $password . "', '" . $salt . "', 1, '" . $contactno . "',"
. "'" . $internalextension . "', 4, " . $companyid . ", '" . my_datenow() . "');";
echo $query;
}
}
} else {
return array("status" => FALSE, "message" => "Error while Importing Employee. Please Check Your .csv file; First Name should not be blank.");
}`
还将“排序规则”设置为“utf8_general_ci”,以便在数据库中逃脱电子邮件 – Saty
执行数据库操作之前这一切将立即发生。我的意思是先准备查询并立即执行。但准备查询期间发生错误。 – Chintan7027
你可以发布你的准备状态 – Saty