- आपका मूल रूप से पोस्ट किया गया प्रश्न के अनुसार जिसे संपादित किया गया है:
सबसे पहले, आप अपने sex-select
. के लिए एक हाइफ़न का उपयोग कर रहे हैं कॉलम।
MySQL सोच रहा है कि आप एक गणित समीकरण करना चाहते हैं जिसका अनुवाद इस प्रकार है:
सेक्स (माइनस) सेलेक्ट करें।
इसे बैकटिक्स में लपेटें और photo
. के लिए कॉलम गायब है
(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
^^^^^^ missing column
mysql_error()
. का उपयोग करने के बाद mysql_query()
. के साथ त्रुटि का संकेत दिया होता।
साथ ही $sex-select
जिसे $sex_select
. होना चाहिए चर के लिए भी हाइफ़न का उपयोग न करें।
तो उन सभी उदाहरणों को $sex_select
. में बदलें आपके VALUES में भी.
('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex_select', '$month','$day','$year')
मैंने देखा कि आपके DB और टेबल दोनों का नाम crop
. है ।
$mysql_database = "crop";
और
mysql_query("INSERT INTO crop...
उनमें से एक गलत हो सकता है। सुनिश्चित करें कि तालिका के साथ डीबी नाम वही होना चाहिए। यह मुझे सही नहीं लग रहा है, लेकिन मैं गलत हो सकता हूं। केवल आप ही जानते हैं कि उन्हें क्या कहा जाता है।
प्लस mysql_close($con);
यह होना चाहिए mysql_close($bd);
चूंकि आप $bd = mysql_connect
का उपयोग कर रहे हैं
त्रुटि रिपोर्टिंग जोड़ें आपकी फ़ाइल (फ़ाइलों) के शीर्ष पर जो उत्पादन परीक्षण के दौरान मदद करेगी।
error_reporting(E_ALL);
ini_set('display_errors', 1);
जिसने उस त्रुटि को भी संकेत दिया होगा, जो कि कुछ ऐसा है जो आप नहीं कर रहे हैं, त्रुटियों की जांच कर रहा है। विकास के दौरान यह महत्वपूर्ण है।
संपादित करें: DB कनेक्शन त्रुटि जाँच के लिए:
इसके बजाय:
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "";
$mysql_database = "crop";
$prefix = "";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");
mysql_select_db($mysql_database, $bd) or die("Could not select database");
किसी भी त्रुटि को पकड़ने के लिए निम्नलिखित का प्रयोग करें, क्या कोई त्रुटि होनी चाहिए। die("Could not connect database")
. का उपयोग करना काफी अच्छा नहीं है।
अगर crop
डेटाबेस नहीं है, MySQL आपको बताएगा।
<?php
$bd = mysql_connect('localhost', 'root', '');
if (!$bd) {
die('Not connected : ' . mysql_error());
}
// make foo the current db
$db_selected = mysql_select_db('crop', $bd);
if (!$db_selected) {
die ('Can\'t use foo : ' . mysql_error());
}
आपकी क्वेरी के लिए वही:
$result = mysql_query("INSERT INTO crop(fname, lname, email, pass, phone, photo, `sex-select`, month,day,year)
VALUES ('$fname', '$lname', '$email', '$pass', '$phone', '$photo', '$sex-select', '$month','$day','$year')");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
साथ ही, आपके HTML फॉर्म के अनुसार:
<select name="sex-select" id="sex-select">
होना चाहिए
<select name="sex_select" id="sex-select">