PHP पाठ – पाठ 3.1 – MySQL डेटाबेस के साथ कार्य। तालिकाएँ बनाना।
पिछले पाठ में हमने डेटाबेस से कनेक्शन बनाना सीखा था। इस पाठ में हम अपने भविष्य के वेबसाइट के लिए तालिकाएँ (tables) बनाएँगे। सबसे पहले, आइए अपनी क्लास simpleCMS में आवश्यक डेटाबेस का नाम जोड़ते हैं:
class simpleCMS { // प्रबंधन के लिए क्लास public $host = 'localhost'; //डेटाबेस के साथ काम करने के लिए वेरिएबल्स public $username = 'root'; public $password = ''; public $db = 'testDB';
अब हमें इस डेटाबेस को अपने MySQL सर्वर पर बनाना होगा। यदि आप भी Denwer का उपयोग कर रहे हैं, तो इसमें phpMyAdmin शामिल होता है। phpMyAdmin पर जाएँ और एक नया डेटाबेस बनाएँ:
अब जब हमने सेटिंग्स जोड़ लीं और नया डेटाबेस बना लिया, तो आइए PHP के माध्यम से MySQL सर्वर से कनेक्शन को थोड़ा संशोधित करें। इसके लिए डेटाबेस कनेक्शन मेथड को अपडेट करें:
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); // MySQL सर्वर से कनेक्ट करें if (!$link) { die('कनेक्शन में त्रुटि: ' . mysql_error()); } mysql_select_db($this->db) or die("डेटाबेस नहीं मिल सका। " . mysql_error()); // डेटाबेस चुनें return $link; }
यदि सब कुछ सही तरीके से किया गया है, तो कोई त्रुटि संदेश नहीं दिखना चाहिए। अब हम एक तालिका बनाएँगे। इसके लिए buildDB() नाम का एक नया मेथड जोड़ें, जिसे हम connectDB() मेथड के अंदर से कॉल करेंगे:
public function connectDB() { $link = mysql_connect($this->host, $this->username, $this->password); // MySQL सर्वर से कनेक्ट करें if (!$link) { die('कनेक्शन में त्रुटि: ' . mysql_error()); } mysql_select_db($this->db) or die("डेटाबेस नहीं मिल सका। " . mysql_error()); // डेटाबेस चुनें $this->buildDB(); // एक ही क्लास के भीतर दूसरे मेथड को कॉल करते हैं return $link; } public function buildDB(){ }
अब हर बार जब डेटाबेस से कनेक्शन बनेगा, तो buildDB() मेथड में हम यह जाँच सकेंगे कि सभी आवश्यक तालिकाएँ मौजूद हैं या नहीं। इसके लिए हम डेटाबेस में एक SQL क्वेरी भेजेंगे:
public function buildDB(){ $sql = 'CREATE TABLE IF NOT EXISTS messages ( title VARCHAR(150), bodytext TEXT, created VARCHAR(100) )'; return mysql_query($sql); }
आइए समझते हैं कि यह कोड कैसे काम करता है।
सबसे पहले हम SQL क्वेरी को एक स्ट्रिंग वेरिएबल में रखते हैं और फिर उस स्ट्रिंग को mysql_query() फ़ंक्शन में पास करते हैं, जो इस क्वेरी को डेटाबेस पर निष्पादित करता है।
हमारी SQL क्वेरी CREATE TABLE ऑपरेटर से शुरू होती है — जिसका अर्थ है “तालिका बनाना”। इसके बाद हम जाँचते हैं कि तालिका पहले से मौजूद है या नहीं, इसके लिए IF NOT EXISTS लिखा जाता है। यहाँ तालिका का नाम messages है।
तालिका के नाम के बाद गोल ब्रैकेट्स में कॉलम्स (फ़ील्ड्स) का विवरण दिया जाता है। हमारे मामले में ये हैं: title, bodytext और created। प्रत्येक कॉलम के बाद डेटा का प्रकार निर्दिष्ट किया जाता है — उदाहरण के लिए, VARCHAR(150) एक स्ट्रिंग है जिसकी अधिकतम लंबाई 150 अक्षर है, जबकि TEXT एक बड़ा टेक्स्ट फ़ील्ड है जिसमें पूरी लेख सामग्री संग्रहीत की जा सकती है।
अब यदि आप simpleCMS.php फ़ाइल को सहेजते हैं और index.php चलाते हैं, तो आपकी तालिका messages डेटाबेस में बन जाएगी।
हम इस तालिका का उपयोग अगले पाठ में करेंगे। यदि आपको कोई प्रश्न या त्रुटि आती है, तो उन्हें टिप्पणियों में लिखें।