जोड़ने के लिए संपादित :निम्नलिखित कोड पुराना है और PHP 7 में काम नहीं करेगा। अधिक विवरण के लिए उत्तर के नीचे की ओर नोट देखें।
एक पूर्णांक आईडी और एक ब्लॉब डेटा कॉलम की तालिका संरचना को मानते हुए, और यह मानते हुए कि डेटाबेस के साथ इंटरफेस करने के लिए MySQL फ़ंक्शंस का उपयोग किया जा रहा है, आप शायद ऐसा कुछ कर सकते हैं:
$result = mysql_query 'INSERT INTO table (
data
) VALUES (
\'' . mysql_real_escape_string (file_get_contents ('/path/to/the/file/to/store.pdf')) . '\'
);';
चेतावनी का एक शब्द हालांकि, डेटाबेस में ब्लॉब्स को संग्रहीत करना आमतौर पर सबसे अच्छा विचार नहीं माना जाता है क्योंकि यह टेबल ब्लोट का कारण बन सकता है और इससे जुड़ी कई अन्य समस्याएं हैं। एक बेहतर तरीका यह होगा कि फाइल को फाइल सिस्टम में कहीं ले जाया जाए जहां इसे पुनर्प्राप्त किया जा सके, और फ़ाइल के बजाय फ़ाइल के पथ को डेटाबेस में संग्रहीत करें।
साथ ही, 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) . '\'
);');
इसे करने का आदर्श तरीका MySQLI/PDO तैयार बयानों के साथ है।