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

मैं डुप्लिकेट नाम इनपुट को रोकने के लिए प्रतीत नहीं कर सकता

यहां कुछ चीजें गलत हैं।

आप एक MySQL कीवर्ड का उपयोग कर रहे हैं list एक समारोह के रूप में, और वह अकेले ही आपको समस्याएं पैदा करेगा।

सिडेनोट:हां, मुझे पता है कि यह "आरक्षित" शब्द नहीं है, यह एक "कीवर्ड" है और MySQL कीवर्ड को विशेष रूप से एक फ़ंक्शन के रूप में उपयोग करता है, जो कि अब आप अपनी दूसरी क्वेरी में कर रहे हैं। , और जिस तरह से MySQL इसकी व्याख्या कर रहा है; तालिका घोषणा नाम के बजाय एक फ़ंक्शन।

मेरा सुझाव है कि आप उस तालिका का नाम बदलकर सूचियों में रख दें, या उसे टिकों में लपेट दें।

आप MySQL API/फ़ंक्शंस को भी मिला रहे हैं जो इंटरमिक्स नहीं करते हैं।

तो आपका नया कोड इस रूप में पढ़ा जाएगा,
$selected = mysql_connect('christmas', $dbhandle); छोड़ते समय

$query = mysqli_query($dbhandle, "SELECT * FROM `list` WHERE name='$name'") 
        or die (mysqli_error($dbhandle));

if(mysqli_num_rows($query) > 0){
    echo 'that name already exists';
}else{
    mysqli_query($dbhandle, "INSERT INTO `list` (name, one, two, three, four, five, six, seven, eight) 
                VALUES ('$name' , '$one' , '$two' , '$three' , '$four' , '$five' , '$six', '$seven' , '$eight')") 
                 or die (mysqli_error($dbhandle));

}


mysqli_close($dbhandle);

आपका कोड SQL इंजेक्शन के लिए भी खुला है। तैयार कथन का प्रयोग करें।

अब, हमें नहीं पता कि आपके सभी चर कहां से आ रहे हैं।

त्रुटि रिपोर्टिंग का उपयोग करें।

मेरा यह भी सुझाव है कि आप एक सशर्त empty() का उपयोग करें आपके चर/इनपुट के लिए।

अन्यथा, आपको अन्य त्रुटियां भी मिल सकती हैं जिनके बारे में MySQL शिकायत कर सकता है।

यानी:

if(!empty($var)){...}

अंततः और यह सुनिश्चित करने के लिए कि आपके डेटाबेस में कोई डुप्लिकेट प्रविष्टियाँ नहीं हैं, आप एक UNIQUE बाधा सेट कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. केवल नवीनतम समूहीकृत प्रविष्टियों का चयन करें

  2. कई तिथियों के लिए अधिकतम मानों की संख्या गिनें

  3. एक MySQL डीबी को एक्सएमएल में कैसे परिवर्तित करें?

  4. MySQL से मित्र के नामों की सूची प्राप्त करना

  5. Amazon Aurora Serverless के साथ स्वचालित स्केलिंग