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

खाली फ़ील्ड को mysql डेटाबेस में अनदेखा करके एक या अधिक फ़ील्ड को कैसे अपडेट करें?

सबसे पहले POST, GET, या REQUEST के माध्यम से आपके पास आने वाले किसी भी तार से बचना याद रखें (यदि आप अनिश्चित हैं तो SQL इंजेक्शन हमलों पर पढ़ें)।

कुछ इस तरह काम कर सकता है:

$semaphore = false;
$query = "UPDATE contacts SET ";
$fields = array('tel','fax','email');
foreach ($fields as $field) {
   if (isset($_POST[$field]) and !empty($_POST[$field]) {
     $var = mysql_real_escape_string($_POST[$field]);
     $query .= uppercase($field) . " = '$var'";
     $semaphore = true;
   }
}

if ($semaphore) {
   $query .= " WHERE Cust_Name = '$cst'";
   mysql_query($query);
}

एनबी :SQL कथन बनाने के लिए कभी भी अपने $_POST सरणी के माध्यम से लूप न करें। एक विरोधी अतिरिक्त POST फ़ील्ड जोड़ सकता है और संभवतः शरारत कर सकता है। उपयोगकर्ता इनपुट सरणी के माध्यम से लूपिंग से इंजेक्शन वेक्टर भी हो सकता है:फ़ील्ड नामों को कथन में जोड़ने की आवश्यकता है, जिसका अर्थ है कि वे एक संभावित वेक्टर हैं। मानक इंजेक्शन रोकथाम तकनीक (तैयार स्टेटमेंट पैरामीटर, ड्राइवर द्वारा प्रदान किए गए उद्धरण कार्य) पहचानकर्ताओं के लिए काम नहीं करेंगे। इसके बजाय, सेट करने के लिए फ़ील्ड की श्वेतसूची का उपयोग करें, और श्वेतसूची पर लूप करें या श्वेतसूची के माध्यम से इनपुट सरणी पास करें।



  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 में हटाए गए गैर-संख्यात्मक वर्णों के साथ फ़ील्ड वापस करने के लिए SQL

  2. Oracle डाटाबेस लिंक - MySQL समतुल्य?

  3. कई CSV फ़ाइलों को mysql में आयात करें

  4. MySQL/Rails में अस्पष्ट कॉलम विधि ढूंढते हैं

  5. ड्रॉप-डाउन मेनू से चयन करें और पृष्ठ पुनः लोड करें