我们每天都会从amazon导出一些订单(txt文件),然后用php导入到数据库,
现在出现的问题就是:有些txt文件导入的时候总会有几条记录导不进去,但是单独提取出来(把导不进去的记录建一个文件)再导就能成功,每个txt文件大概1000条左右的记录,以下是php原代码,请各位大大帮我分析一下什么原因
还有请问可以查写入数据库失败的原因吗?可以的话怎么查
php code $filepath=$_get['uploadfile'];echo $filepath;require_once 'conn.php';setlocale(lc_all, 'en_us.utf-8');error_reporting(e_all ^ e_notice); $line=0;$shipments=0;$strsqla=select max(number) from `sale_orders`; //查询sale_orders表id字段最大值$querya = mysql_query($strsqla,$conn); $resultaa= mysql_fetch_row($querya);$maxnum=$resultaa[0];$maxnum++;$file = fopen($filepath,r) or die(打开文件失败); while (!feof($file)) { $buffer = fgets($file);if ($line0){ $u=explode(' ', trim($buffer));if(!empty($u[0])){ $or_id=$u[0];$or_it_id=$u[1];$payments_date=$u[3];$buyer_email=$u[7];$buyer_name=$u[8];$buyer_phone=$u[9];$sku=$u[10];$jj_sku=substr($sku,1,7);$product_name=$u[11];$quantity=$u[12];$recipient_name=$u[16];$ship_address1=$u[17];$ship_address2=$u[18];$ship_address3=$u[19];$ship_state=$u[21];$ship_postal=$u[22];$ship_country=$u[23]; $sql_detrde= insert into `amazon_erp`.`sale_orders` (`number` ,`order_id` ,`order_item_id`,`shipments` ,`payments-date` ,`buyer-email` ,`buyer-name` ,`buyer-phone-number` ,`sku`,`jj_sku` ,`product-name` ,`quantity-purchased`,`recipient-name`,`ship-address-1`,`ship-address-2`,`ship-address-3`,`ship-state`,`ship-postal-code`,`ship-country` )values ('$maxnum','$or_id','$or_it_id', '$shipments', '$payments_date','$buyer_email', '$buyer_name','$buyer_phone','$sku' ,'$jj_sku', '$product_name', '$quantity', '$recipient_name', '$ship_address1', '$ship_address2','$ship_address3','$ship_state' , '$ship_postal', '$ship_country'); mysql_query($sql_detrde); $myaf = mysql_affected_rows(); if($myaf>0) {echo
import $or_id success;}else{ echo
; echo import $or_id failure; echo ; } } } $line++; } echo
导入成功;echo
possible file upload attack!\n;echo ''; echo '';
------解决方案--------------------
$myaf = mysql_affected_rows() or die(mysql_error());
------解决方案--------------------
唠叨别激动,他的语气应该不是质疑,而是疑惑不解
zhuhao你要把你的sql语句做安全转义,把语句视作含有“\”来看待
要么全过程用unicode来操作