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

PHP mysql_* से mysqli_ में माइग्रेट हो रही है

ठीक है, तो पहले फ़ंक्शन में आप प्रतिस्थापित करने का प्रयास कर रहे हैं

return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0, 'user_id');

आइए पहले स्पष्ट करें कि यह क्या करता है:

  • क्वेरी निर्दिष्ट करें
  • परिणाम प्राप्त करें
  • 0 प्राप्त करें। पंक्ति (अंग्रेजी में "पहली")
  • कॉलम प्राप्त करें user_id

अब इस चरण-दर-चरण को mysqli_ . के साथ करें :

//specify query
$result = mysqli_query(connect(),"SELECT `user_id` FROM `users` WHERE `username` = '$username'");
//fetch result
$row = mysqli_fetch_assoc($result);
//get column
return $row['user_id'];

आपको पंक्ति को fetch_assoc . के रूप में निर्दिष्ट करने की आवश्यकता नहीं है केवल एक लौटाता है।

अब दूसरे समारोह के लिए

return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `password` = '$password'"), 0) ==1) ? $user_id : FALSE;
  • क्वेरी निर्दिष्ट करें
  • परिणाम प्राप्त करें
  • 0 प्राप्त करें। पंक्ति
  • यदि यह 1 के बराबर है:वापसी user_id , अन्यथा FALSE

अब mysqli_ . के साथ :

//specify query
$result = mysqli_query(connect(),"SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `password` = '$password'");
//fetch result
$row = mysqli_fetch_row($result);
//if first returned column is equal to 1 return $user_id
//otherwise FALSE
return ($row[0]==1) ? $user_id : FALSE;

लेकिन रुकिए - मैंने mysqli_fetch_row का उपयोग क्यों किया? यहाँ जबकि mysqli_fetch_assoc ऊपर इस्तेमाल किया गया था? आरटीएम;)

आज हमने क्या सीखा? केवल इसलिए कि आप अपना कोड जितना संभव हो उतना छोटा लिख ​​सकते हैं इसका मतलब यह नहीं है कि आपको करना चाहिए। यदि मूल कोड को थोड़ा और विभाजित किया गया था, तो MySQLi में संक्रमण काफी आसान होना चाहिए था, क्योंकि आप जटिल अभिव्यक्ति के बजाय छोटे भागों को आसानी से डीबग कर सकते थे।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL चयन क्वेरी सहायता आवश्यक

  2. MySQL क्वेरी विशिष्ट टैग संयोजनों के आधार पर पंक्तियों को लाने पर अवांछित पंक्तियाँ लौटाती है

  3. मैं PHP में MySQL क्वेरी का निष्पादन समय कैसे प्रदर्शित करूं?

  4. जावा और एसक्यूएल:वापसी शून्य या अपवाद फेंक दें?

  5. mysql आंशिक अनुक्रमण, रिवर्स अनुक्रमण;