ठीक है, तो पहले फ़ंक्शन में आप प्रतिस्थापित करने का प्रयास कर रहे हैं
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 में संक्रमण काफी आसान होना चाहिए था, क्योंकि आप जटिल अभिव्यक्ति के बजाय छोटे भागों को आसानी से डीबग कर सकते थे।