Postingan lainnya
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in
salahnya dimana ya?? padahal tutorial sudah saya ikutin mohon bantuannya gannnn
function registrasi($data)
{
global $db;
$username = strtolower(stripslashes($data["username"]));
$password = mysqli_real_escape_string($db, $data['password']);
$password2 = mysqli_real_escape_string($db, $data['password2']);
//cek apakah nama yang didaftar sudah ada didatabase atau belum
$result = mysqli_query($db, "SELECT * username FROM user WHERE username = '$username'");
if (mysqli_fetch_assoc($result)) {
echo "<script> alert('Nama sudah terdaftar') </script>";
return false;
}
//cek apakah password sama
if ($password !== $password2) {
echo "<script> alert ('Password tidak sama!!') </script>";
return false;
}
//enkripsi/mengamankan password sebelum masuk ke database
$password = password_hash($password, PASSWORD_DEFAULT);
// $password = md5($password, PASSWORD_DEFAULT);
//masukkan data user baru ke database
mysqli_query($db, " INSERT INTO user VALUES ('','$username','$password')");
return mysqli_affected_rows($db);
}
1 Jawaban:
Jawaban Terpilih
ini mau select username nya ajh atau semuanya ?? kalo cuma usernamenya doang
<pre> SELECT username FROM user WHERE username = '$username' </pre> kalo mau semuanya
<pre> SELECT * FROM user WHERE username = '$username' </pre>
Tanggapan
dua dua juga ga bisa gan
null itu karena si $resultnya gk ada isi apa , coba cek ulang
saran doang daripada menggunakan fetch_assoc lebih baik menggunakan num_rows
gini kak,kan saya buat menu register saya mau klau daftar nama ga boleh samakan,nah itu ketika saya query ke database lalu pas daftar nama ada yg salah maka akan nampil alert nama sudah dipakai,trus pas saya ikutin tutorial,malah jadi gitu trus nama bisa kembar dan masuk ke database, tolongi kak solusinya. makasih sebelumnya yaa
pake salah satu, kalo mau make dua2nya pisan dengan koma.
sudah di coba yg SELECT username FROM user WHERE username = '$username' tpi tetap saja : mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in
kalo mau kaya gitu mending make num_rows sih lebih gampang kalo lebih besar dari 0 berarti ada nama yang mirip, makenya juga tinggal if($result->num_rows > 0), untuk sekarang pastiin query nya berjalan dulu, coba di print_r atau var_dump
klau query berhasil jalan nilai true kan? kok saya false ya salahnya dmna lagi
coba run SELECT * username FROM user WHERE username = '$username' ini di phpmyadmin/heidisql, ganti $username make string biasa, bisa jalan kgk...
gan hendri18 saya salah input nama databasenya ,salah tulis didatabase saya nulisnya "user",tpi yang saya select "username" hahahaha makasih banyak ya mas hendri dah mw bantu ;)