我有一个foreach循环,它迭代excel文件的每一行。使用从单行检索的数据,我运行一些查询,在我的数据库中选择或插入一些数据。 我运行的一个查询的示例:
if($error == ''){
try{
$s2 = $pdo->prepare("SELECT anagrafiche.id_ndg FROM anagrafiche
WHERE anagrafiche.cod_fisc = '$cf_cedente'
OR anagrafiche.p_iva = '$cf_cedente'
OR anagrafiche.cf_estero = '$cf_cedente'");
$s2->execute();
}
catch (PDOException $e){
$error = 'Errore nel trovare anagrafica cedente: '.$e->getMessage();
echo 'Non trovato cedente con codice fiscale '.$cf_cedente.' ';
}
}
这种情况最终会导致很多嵌套,因为如果在特定点抛出错误,我不希望运行某些查询。 如果我继续停止当前行的执行并跳转到下一行而不是这种情况,那么在执行时间或资源方面会更好吗?所以代码看起来像:
try{
$s2 = $pdo->prepare("SELECT anagrafiche.id_ndg FROM anagrafiche
WHERE anagrafiche.cod_fisc = '$cf_cedente' OR anagrafiche.p_iva =
'$cf_cedente' OR anagrafiche.cf_estero = '$cf_cedente'");
$s2->execute();
}
catch (PDOException $e){
$error = 'Errore nel trovare anagrafica cedente: '.$e->getMessage();
echo 'Non trovato cedente con codice fiscale '.$cf_cedente.' ';
}
if($error!=''){
echo $error;
continue;
}
还是有一个更好的选择我还没想过呢? 谢谢您的帮助! 注意:我正在进行大量数据加载,所以我需要继续加载下一行,跳过出错的那一行。