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

Knex का उपयोग करते हुए क्लॉज के मूल्य पर फ़ंक्शन कैसे लागू करें?

आपको शायद whereRaw() का इस्तेमाल करना होगा

knex('usr_info')
  .whereRaw('login = ? AND password = PASSWORD(?)', [login, password]);

वैसे, आपको अपने स्वयं के ऐप प्रमाणीकरण के लिए MySQL के PASSWORD() फ़ंक्शन का उपयोग नहीं करना चाहिए। यह फ़ंक्शन MySQL 8.0.11 में हटा दिया गया था। MySQL 5.7 में, यह पदावनत है, और एक नोट है:

https://dev.mysql.com/doc /refman/5.7/hi/encryption-functions.html#function_password

इसके अलावा, अपनी क्वेरी के लिए प्लेनटेक्स्ट पासवर्ड पास करना अच्छा विचार नहीं है, क्योंकि यह क्वेरी लॉग में प्लेनटेक्स्ट में लॉग इन हो सकता है।

इसके बजाय, मैं आपको केवल login . के लिए खोज करने की सलाह देता हूं आपकी क्वेरी में, तो परिणाम में आपके डेटाबेस में संग्रहीत हैशेड पासवर्ड शामिल होगा। आप अपने ऐप कोड में पासवर्ड हैश कर सकते हैं और अपनी क्वेरी द्वारा लौटाए गए हैश से इसकी तुलना कर सकते हैं।




  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. com.mysql.jdbc.Driver को कैसे स्थापित करें वर्ग नाम के साथ ड्राइवर नहीं मिला:com.mysql.jdbc.Driver?

  3. कैसे mysql क्वेरी से अजगर स्क्रिप्ट चलाने के लिए?

  4. frm और ibd फ़ाइलों से तालिका संरचना को पुनर्स्थापित करें

  5. एक चार्ट बनाने के लिए एक MySQL डेटाबेस और दिनांक सीमा के अनुसार समूह को क्वेरी करें