РЕДАКТИРАНО ЗА ДОБАВЯНЕ :Следният код е остарял и няма да работи в PHP 7. Вижте бележката в долната част на отговора за повече подробности.
Ако приемем структура на таблица с целочислен идентификатор и колона DATA и приемем, че функциите на MySQL се използват за взаимодействие с базата данни, вероятно бихте могли да направите нещо подобно:
$result = mysql_query 'INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf')) . '\'
);';
Едно предупреждение обаче, съхраняването на петна в бази данни обикновено не се счита за най-добрата идея, тъй като може да причини раздуване на таблицата и има редица други проблеми, свързани с това. По-добър подход би бил да преместите файла някъде във файловата система, където може да бъде извлечен, и да съхраните пътя до файла в базата данни вместо самия файл.
Също така, използването на извиквания на функции на mysql_* не се препоръчва, тъй като тези методи са ефективно отхвърлени и всъщност не са създадени с версии на MySQL, по-нови от 4.x. Вместо това трябва да преминете към 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) . '\'
);');
Идеалният начин да го направите е с MySQLI/PDO подготвени оператори.