php mysql 插入 blob_使用PHP将blob插入MySQL的更好方法

我正在研究一个将文件插入数据库的系统.

我有两种方法可以将blob插入到DB中,所以我很好奇哪一个更好.

第一种是获取内容,然后在插入时将内容的参数绑定为字符串:

$fp = fopen($tmpName, 'r');

$content = fread($fp, filesize($tmpName));

$content = addslashes($content);

fclose($fp);

...

$prep_stmt = "INSERT INTO dokumenty (name, size, type, content, autor, poznamka) VALUES (?, ?, ?, ?, ?, ?)";

$stmt = $mysqli->prepare($prep_stmt);

$stmt->bind_param('sissis',$fileName,$fileSize,$fileType,$content,$user_id,$poznamka );

另一种方法是像这样使用send_long_data:

$content = NULL;

...

$prep_stmt = "INSERT INTO dokumenty (name, size, type, content, autor, poznamka) VALUES (?, ?, ?, ?, ?, ?)";

$stmt = $mysqli->prepare($prep_stmt);

$stmt->bind_param('sisbis',$fileName,$fileSize,$fileType,$content,$user_id,$poznamka );

$stmt->send_long_data(3, file_get_contents($tmpName));

我的问题是:哪种方式更适合使用?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值