Diskon 80% terbatas! Masukkan kupon "merdeka" di kelas apa saja

Memanggil Global $link

Hallo apakabar mas? Mas saya mau nanya saya punya salah satu koneksi sebagai induk dari class. nama file nya kelas_database.php isi file nya seperti berikut:

<?php

	class Kelas_database{
		var $hostname = "localhost";
		var $username = "root";
		var $password = "";
		var $database = "keuangan";

		public function __construct(){

			$link = mysqli_connect($this->hostname, $this->username, $this->password, $this->database) or die('gagal konek');

			// if ($link) {
			// 	# code...
			// 	echo "Koneksi database mysqli berhasil konek";
			// }else{
			// 	echo "koneksi database mysqli gagal konek";
			// }
		}
	}

 ?>

======================================================== Setelah itu saya punya kelas anak nama file nya kelas_login. dimana kelas login ini berfungsi memberikan akses login kepada index.php, dan isi code nya seperti berikut:

<?php

	include 'config/kelas_database.php';

	class kelas_login extends kelas_database{

		public function method_login($email_user, $password){
			// Kalo pake global $link tidak mau
			global $link;

                        // tetapi kalo memakai kode ini mau:
			$link = mysqli_connect($this->hostname, $this->username, $this->password, $this->database) or die('gagal konek');

                        // yang diharapkan sih bisa menggunakan global $link, agar tidak terlalu panjang code nya.

			$query = "SELECT * FROM tbl_user WHERE email_user = '$email_user' AND password = '$password'";
			$result = mysqli_query($link, $query) or die('tidak dapat akses database, login gagal');

			return $result;
		}
	}

 ?>

========================================= Nah, setelah saya instansiasi object tersebut di file index.php kenapa yah *global $link* disitu tidak kebaca ya mas? tetapi kalo misalkan $link dari kelas_database, saya copy kan, lalu saya paste di kelas_login program dapet berjalan, tetapi kalo dengan cara "global $link" tidak mau.

Mohon pencerahannya

Terimakasih

avatar rosadi
@rosadi

3 Kontribusi 1 Poin

Diperbarui 9 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

linknya jadikan property dari kelas_database, aksesnya pake $this->link

protected $link;

public function __construct(){
 $this->link = mysqli_connect($this->hostname, $this->username, $this->password, $this->database) or die('gagal konek');
}

avatar hilmanski
@hilmanski

2713 Kontribusi 2145 Poin

Dipost 9 tahun yang lalu

Login untuk ikut Jawaban