Gor*_*onM 12
编辑添加:以下代码已过时,无法在PHP 7中使用.有关详细信息,请参阅答案底部的注释.
假设一个整数ID和一个blob DATA列的表结构,并假设MySQL函数用于与数据库接口,你可能会做这样的事情:
$result = mysql_query 'INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf')) . '\'
);';
Run Code Online (Sandbox Code Playgroud)
但是,在数据库中存储blob通常不被认为是最好的主意,因为它可能导致表膨胀并且还存在许多与之相关的其他问题.更好的方法是将文件移动到可以检索它的文件系统中的某个位置,并将文件的路径存储在数据库中而不是文件本身.
此外,不鼓励使用mysql_*函数调用,因为这些方法实际上已被弃用,并且实际上并未构建为比4.x更新的MySQL版本.你应该切换到mysqli或PDO.
更新:mysql_*函数在PHP 5.x 中已弃用,并且在PHP 7中完全删除! 您现在别无选择,只能切换到更现代的数据库抽象(MySQLI,PDO).由于历史原因,我决定将原始答案完整保留,但实际上并没有使用它
以下是在过程模式下使用mysqli的方法:
$result = mysqli_query ($db, 'INSERT INTO table (
data
) VALUES (
\'' . mysqli_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf'), $db) . '\'
);');
Run Code Online (Sandbox Code Playgroud)
这样做的理想方法是使用MySQLI/PDO编写的语句.
| 归档时间: |
|
| 查看次数: |
100381 次 |
| 最近记录: |