【发布时间】:2015-04-26 17:55:25
【问题描述】:
我有一个 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.' ';
}
}
这种情况最终会出现大量嵌套 if,因为如果在特定点抛出错误,我不希望运行某些查询。 如果我使用 continue 停止要执行的当前行并跳转到下一个而不是这种情况,在执行时间或资源方面会更好吗?这样代码看起来像:
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;
}
或者我还没有想到更好的选择? 谢谢您的帮助! 注意:我正在进行大量数据加载,因此我需要继续加载下一行,跳过出错的行。
【问题讨论】:
标签: php