J'importe une énorme quantité de données provenant d'un fichier csv dans ma base de données, mais le problème est que s'il y a une erreur dans le sql, mon insertion s'arrête, rendant ainsi mon insertion inutile inutile. revenir en arrière, supprimer les données téléchargées et supprimer cette entrée qui pose problème dans mon insertion et recommencer. Je veux que le programme saute et continue l'insertion, je sais que je dois m'appliquer essayer et attraper, je l'ai appliqué dans mon algo mais je cnt comprendre comment employer de sorte qu'il continue son insertion. ici est mon codeinsertion de données en bloc sql numéro
$num=35; //number of columns
$dum=true; // a check
$sum=0;// count total entries
if (($handle = fopen($_FILES['file']['name'], 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 10000, ',')) !== FALSE)
{
if($dum)
{
for ($qwe=0; $qwe < $num; $qwe++) { //searching the columns exact position in case they have been changed
if($data[$qwe]=='ID')
{$a=$qwe;}
.
.
.
.
.else if($data[$qwe]=='PowerMeterSerial')
{$aa=$qwe;}
else if($data[$qwe]=='Region')
{$ab=$qwe;}
else if($data[$qwe]=='Questions')
{$ac=$qwe;}
}
}
if(!$dum)
{
for($qwe=0;$qwe<$num;$qwe++)
{
if($qwe==7||$qwe==8)
{
if($qwe==7){$asd=$data[$qwe];}
$data[$qwe]=date('Y-m-d h-i-s',strtotime($data[$qwe]));
}
}
$data[57]=date('Y-m-d ',strtotime($asd));try {
$sql="INSERT INTO pm (ID, .......... Questions, dateofdata ,Unsuccessful) VALUES ('$data[$a]','$data[$b]','$data[$c]','$data[$d]','$data[$e]','$data[$f]','$data[$g]','$data[$h]' ,'$data[$i]','$data[$j]','$data[$k]', '$data[$l]', '$data[$m]','$data[$n]','$data[$o]','$data[$p]','$data[$q]','$data[$r]','$data[$s]','$data[$t]','$data[$u]','$data[$v]','$data[$w]', '$data[$x]','$data[$y]','$data[$z]','$data[$aa]','$data[$ab]','$data[$ac]','$data[57]','$data[30]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error(). $sql);
}
}
catch (Exception $e)
{
echo'<br>'; echo $sql;
}
$sum++;
}$dum=false;
}
}
?>
de bien vouloir noter qu'il n'y a pas question dans le téléchargement Algorithme ou sql, son lorsque les données d'entrée ne correspond pas au type de données que SQL génère une erreur, pour que je suis en train try et catch. .aider s'il vous plaît
J'ai un autre algorithme où je dois insérer une clé étrangère, mais si la valeur d'insertion, la valeur correspondante ne se trouve pas dans le tableau, une erreur se produit! Je veux continuer le traitement du fichier !!! –