Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

php . में डेटाबेस में डेटा संग्रहीत करने में समस्या

सबसे पहले, आप अपने 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">


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL फ़ंक्शन किसी क्वेरी से मान लौटाता है

  2. क्रॉन के बिना पृष्ठभूमि में मेल भेजें

  3. Amazon RDS SET GLOBAL कमांड को निष्पादित करने में असमर्थ

  4. Laravel . के साथ विदेशी कुंजी द्वारा सभी रिकॉर्ड कैसे प्राप्त करें

  5. SQL - केवल विशिष्ट वस्तुओं के साथ ऑर्डर ढूँढना और इसे उत्पाद द्वारा दिखाना