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

mysqli_escape_string फ़ंक्शन का उपयोग करके त्रुटि प्राप्त करना

आपके कोड में बहुत सी चीजें गलत हैं और आपके पास अभी जो है उसे ठीक करके समाधान प्रदान करना बेहद मुश्किल होगा।

सबसे पहले, MD5 को अब पासवर्ड संग्रहण के लिए उपयोग करने के लिए सुरक्षित नहीं माना जाता है।

परामर्श करें:

साथ ही, आप तैयार किए गए कथनों का सही उपयोग नहीं कर रहे हैं।

जैसा कि मैंने कहा, mysqli_escape_string() फ़ंक्शन के लिए डेटाबेस कनेक्शन को पहले पैरामीटर के रूप में पारित करने की आवश्यकता होती है:

स्वयं पर उपकार करें और इसका उपयोग करें, ircmaxell के उत्तरों में से एक https://stackoverflow.com/a/29778421/

उनके जवाब से लिया गया:

बस एक पुस्तकालय का प्रयोग करें। गंभीरता से। वे एक कारण से मौजूद हैं।

इसे स्वयं मत करो। यदि आप अपना स्वयं का नमक बना रहे हैं, आप इसे गलत कर रहे हैं . आपको एक पुस्तकालय का उपयोग करना चाहिए जो आपके लिए इसे संभालता है।

$dbh = new PDO(...);

$username = $_POST["username"];
$email = $_POST["email"];
$password = $_POST["password"];
$hash = password_hash($password, PASSWORD_DEFAULT);

$stmt = $dbh->prepare("insert into users set username=?, email=?, password=?");
$stmt->execute([$username, $email, $hash]);

और लॉगिन करने पर:

$sql = "SELECT * FROM users WHERE username = ?";
$stmt = $dbh->prepare($sql);
$result = $stmt->execute([$_POST['username']]);
$users = $result->fetchAll();
if (isset($users[0]) {
    if (password_verify($_POST['password'], $users[0]->password) {
        // valid login
    } else {
        // invalid password
    }
} else {
    // invalid username
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. dbWriteTable(..., append =T) R . में अधिलेखित है

  2. डेटाबेस का उपयोग करके jcomponents बनाएं

  3. नई पंक्तियों के लिए MySQL तालिका को मतदान करने का सबसे तेज़ तरीका क्या है?

  4. mysql के बजाय कैसेंड्रा के साथ nosql क्यों?

  5. MySql में संयोजन त्रुटि का अवैध मिश्रण