Oke, jadi di fungsi pertama Anda coba ganti
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `username` = '$username'"), 0, 'user_id');
Mari kita perjelas dulu fungsinya:
- tentukan kueri
- ambil hasilnya
- dapatkan 0. baris ("1st" dalam bahasa Inggris)
- dapatkan kolom
user_id
Sekarang lakukan langkah demi langkah dengan 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'];
Anda tidak perlu menentukan baris sebagai fetch_assoc
mengembalikan hanya satu.
Sekarang untuk fungsi kedua
return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `username` = '$username' AND `password` = '$password'"), 0) ==1) ? $user_id : FALSE;
- tentukan kueri
- mengambil hasil
- dapatkan 0. baris
- jika ini sama dengan 1:kembalikan
user_id
, jika tidakFALSE
Sekarang dengan 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;
Tapi tunggu - mengapa saya menggunakan mysqli_fetch_row
di sini sedangkan mysqli_fetch_assoc
digunakan di atas? RTM;)
Apa yang telah kita pelajari hari ini? Hanya karena Anda dapat menulis kode Anda sesingkat mungkin bukan berarti Anda harus melakukannya. Jika kode asli telah dipecah sedikit lagi, transisi ke MySQLi seharusnya cukup mudah, karena Anda dapat dengan mudah men-debug bagian yang lebih kecil daripada ekspresi yang rumit.