当操作在中间失败时继续保持循环

时间:2016-03-10 07:27:18

标签: php mysql xml

我在xml中有一个大型数据集要导入mysql数据库。我的代码工作正常,但问题是,一些无效的描述字符串/字符会中断操作,循环在中间停止。我想要的是,如果循环在某些行中断,我想继续休息。我尝试了TRY CATCH和mysql_real_escape_string似乎没有正常工作,或者我可能以错误的方式。任何想法谢谢。

$imagearray = simplexml_load_file('imagelist.xml') or die("Error: Cannot create object");

foreach($imagearray as $image){
    $name = $image->$imgname;
    $description= $image->$description;

    $image = "INSERT INTO `tbl_image` (`imagename`, `imagedescription`) VALUES ( '".$name."', '".$description."')"; 
    $conn->query($image);
}

1 个答案:

答案 0 :(得分:0)

转义输入/使用的预准备语句,您不会遇到查询被破坏的问题。

$imagearray = simplexml_load_file('imagelist.xml') or die("Error: Cannot create object");

foreach($imagearray as $image){
    $name = $image->$imgname;
    $description= $image->$description;

    $image = "INSERT INTO `tbl_image` (`imagename`, `imagedescription`) VALUES ( ?, ?)"; 
    $prep = $conn->prepare($image); //prepare the query
    $prep->bind_param("ss", $name, $description); //bind params
    $prep->execute(); //execute
}