EDITADO PARA ADICIONAR :O código a seguir está desatualizado e não funcionará no PHP 7. Veja a nota na parte inferior da resposta para mais detalhes.
Assumindo uma estrutura de tabela de um ID inteiro e uma coluna BLOB DATA, e assumindo que as funções do MySQL estão sendo usadas para fazer interface com o banco de dados, você provavelmente poderia fazer algo assim:
$result = mysql_query 'INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf')) . '\'
);';
Uma palavra de aviso, porém, armazenar blobs em bancos de dados geralmente não é considerado a melhor ideia, pois pode causar inchaço na tabela e tem vários outros problemas associados. Uma abordagem melhor seria mover o arquivo para algum lugar no sistema de arquivos onde ele possa ser recuperado e armazenar o caminho para o arquivo no banco de dados em vez do próprio arquivo.
ATUALIZAÇÃO :as funções mysql_* estão obsoletas no PHP 5.xe são REMOVIDOS COMPLETAMENTE NO PHP 7! Agora você não tem escolha a não ser mudar para uma abstração de banco de dados mais moderna (MySQLI, PDO). Decidi deixar a resposta original acima intacta por razões históricas, mas na verdade não a uso
Veja como fazer isso com o mysqli no modo procedural:
$result = mysqli_query ($db, 'INSERT INTO table (
data
) VALUES (
\'' . mysqli_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf'), $db) . '\'
);');
A maneira ideal de fazer isso é com instruções preparadas MySQLI/PDO.