Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Kelas Premium!
Belajar bikin website dari nol sekarang
Gunakan kupon "lebihcepat" untuk diskon 25%!
mysqli_real_escape_string
permisi kakak, pada video tutorial mengamankan form register, disini saya mendapatkan error ketika menggunakan fungsi mysqli_real_escape_string, mohon penjelasan kak? Terimakasih :)
12 Jawaban:
Maaf.. error nya gimana ya ? silahkan disertakan juga kode disini.. agar lebih jelas
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\auth\functions\user.php on line 7
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, object given in C:\xampp\htdocs\auth\functions\user.php on line 8 Berhasil
itu mas peringatan error-nya. saya koneksi databasenya menggunakan PDO, mas
Lampirin kode mu juga disini mba.. saya gk tau di line 7 atau 8 mu gimana..
query($query); $link->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Berhasil'; } catch (PDOException $se){ echo $se->getMessage(); } }
itu kode yang di user.php-nya mas. Saya mengikuti tutorial login dan register dengan OOP mas. tapi pas bagian mysqli_real_escape_string, saya terdapat error
Klau saya periksa sih gk ada yang salah disini..
<?php
function register_user($nama, $pass){
global $link;
$nama = mysqli_real_escape_string($link, $nama);
$pass = mysqli_real_escape_string($link, $pass);
$pass = password_hash($pass, PASSWORD_DEFAULT);
$query = "INSERT INTO users (username, password) VALUES ('$nama', '$pass' )";
try {
$link->query($query);
$link->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo 'Berhasil';
} catch (PDOException $se){
echo $se->getMessage();
}
}
tapi pas saya tambahkan mysqli_real_escape_string, outputnya error mas. jadi saya harus diganti pada bagian apanya mas?
di videonya berhasil mas, tapi disaya malah error, padahal kodenya sudah sama persis, cuma beda pada koneksi database-nya saja.
$query = $link->prepare("SELECT * FROM users WHERE username = ? AND password = ?"); var_dump($query->execute(array($nama, $pass)));
$query->fetch(PDO::FETCH_ASSOC); $pass = password_hash($pass, PASSWORD_DEFAULT); $query = "INSERT INTO users (username, password) VALUES ('$nama', '$pass' )";
try { $link->query($query); $link->setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo 'Berhasil'; } catch (PDOException $se){ echo $se->getMessage(); } }
saya berhasil mas, ternyata harus pake sql ijeksi PDO