php – 错误捕获LOAD DATA LOCAL INFILE的最佳方法?

我是一个MySQL新手,完成了我的webapp的核心代码.代码导入CSV文件(本地),由FileMaker生成并清理,然后保留.

鉴于这将很快就会投入生产(并且可能是500mb以下的数据库),我很想知道是否有更好的错误检查/捕获,我可以做到可能防止问题在路上或被提醒我的服务器设置.我已经阅读了有关临时日志等的内容,我的MySQL管理还没有达到目前的效果.

最基本的代码是:

$m = mysql_connect('localhost','mytable','mypassword');
$db = 'mydb';
mysql_select_db($db) or die("Import Error - Couldn't select database: " . mysql_error());

$sql = 'load data local infile "inventory.csv"
        into table ibl_account_details_temp fields terminated by ","
        optionally enclosed by "\""
        lines terminated by "\r"
        (store_id,SKU,account,item_number,brand,description,size,category,price,qty,fees)
        ';

echo mysql_query($sql) or die(myqsl_error());

PS编辑:我也想知道这种导入方法是否对SQL注入开放?
最佳答案
不幸的是,负载数据infile的错误处理非常差.我几乎每天都使用它,并且导入到某种临时表中变成了简单的例程,并使用PHP和MySQL的组合来验证导入的内容.有人可以说这是额外的工作,但它的确有一个优势,就是让我完全控制“错误”是什么.简单地说,我用它来尽可能有效地获取原始数据,然后在php脚本中构建我的错误检查和验证规则.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。