假设一个整数ID和一个Blob DATA列的表结构,并假设MysqL函数被用来与数据库进行接口,那么你可能会这样做:
原文链接:https://www.f2er.com/php/139597.html$result = MysqL_query 'INSERT INTO table ( data ) VALUES ( \'' . MysqL_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf')) . '\' );';
尽管如此,在数据库中存储blob通常不被认为是最好的想法,因为它可能导致表膨胀并且与其相关联的一些其他问题.更好的方法是将文件移动到可以检索的文件系统中的某个位置,并将文件的路径存储在数据库中而不是文件本身.
此外,使用MysqL_ *函数调用是不鼓励的,因为这些方法被有效地不推荐使用,并不是真正构建的,而是MysqL的新版本,而不是4.x.你应该切换到MysqLi或PDO.
更新:PHP 5.x中已弃用MysqL_ *函数,并在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) . '\' );');