Pada artikel ini, kita akan belajar tentang kesalahan yang tidak tertangkap “Kesalahan yang tidak tertangkap. Panggil ke fungsi yang tidak terdefinisi mysql_connect()”
Error ini ditemui saat kami mencoba menggunakan fungsi “mysql_connect()” dari php5 di php7
Kesalahan fatal PHP. Kesalahan yang tidak tertangkap. Panggilan ke fungsi yang tidak terdefinisi kesalahan mysql_connect() dimunculkan karena fungsi mysql_* dihapus sepenuhnya dari PHP 7, yang sebelumnya tidak digunakan lagi di PHP 5. 5, tapi sekarang benar-benar dihapus
Fungsi MySQL yang lebih lama dihapus karena alasan berikut
- Jangan mengerjakan konsep Berorientasi Objek
- Tidak akan mendukung transaksi dan pernyataan yang disiapkan
- Merasa tidak aman
Cara memperbaiki kesalahan Undefined Function Mysql_connect()
Ada empat metode untuk memperbaiki kesalahan fungsi Mysql_connect() yang tidak terdefinisi
- Gunakan MySQLi atau PDO
- Menghubungkan ke Mysql dengan Objek Pdo Cukup Mudah
- Menghubungkan ke MySQL dengan Objek Koneksi MySqli
- Kembalikan ke PHP 5 Lama, perbarui kode Anda ke mysqli atau PDO, lalu tingkatkan ke PHP7
1. Gunakan MySQLi atau PDO
mysqli_connect()
Alih-alih menggunakan "mysql_connect()" kita harus menggunakan "mysqli_connect()" di php7 untuk menghindari kesalahan ini
Contoh. $mysql = new mysqli("localhost","root","password",''DB_name");
PDO (objek basis data php)
Contoh. $pdo = PDO baru('mysql. host=localhost;dbname=database_name ', 'username', 'password');
//pdo membutuhkan database yang valid untuk membuat koneksi. Jika database tidak ditentukan maka pengecualian akan muncul
2. Menghubungkan ke Mysql dengan Objek Pdo Cukup Mudah
$user = 'root'; // Mysql User$password = ''; // Mysql Password $server = 'localhost'; // Mysql Host $database = 'my_database'; // Mysql Databse // PDO Connection string $pdo = new PDO("mysql:host=$server;dbname=$database", $user, $password);3. Menghubungkan ke MySQL dengan Objek Koneksi MySqli
$con = mysqli_connect('localhost', 'username', 'password', 'database');_4. Kembalikan ke PHP 5 Lama, perbarui kode Anda ke mysqli atau PDO, lalu tingkatkan ke PHP7
Praktek terbaik
Gunakan pembungkus MySQLi dan pemetaan objek dengan pernyataan yang disiapkan
Contoh. Pengguna PHP-MySQLi-Database-Class https. //github. com/ThingEngineer/PHP-MySQLi-Database-Class
Dengan menggunakan MySQLi dengan pernyataan persiapan akan mengamankan koneksi database Anda & di masa mendatang, jika perlu memutakhirkan Database Anda ke versi lain, Anda tidak perlu memperbarui semua string koneksi mysql Anda di semua halaman
0){ session_start(); include "timeout.php"; $_SESSION[namauser] = $r[username_login]; $_SESSION[namalengkap] = $r[nama_lengkap]; $_SESSION[passuser] = $r[password_login]; $_SESSION[leveluser] = $r[level]; $_SESSION[idsiswa] = $r[id_siswa]; // session timeout $_SESSION[login] = 1; timer(); $sid_lama = session_id(); session_regenerate_id(); $sid_baru = session_id(); mysqli_query("UPDATE siswa SET id_session='$sid_baru' WHERE username_login='$username'"); $user = mysqli_query("SELECT * FROM online WHERE id_siswa='$_SESSION[idsiswa]'"); if (mysqli_num_rows($user)== 0){ $ip = $_SERVER['REMOTE_ADDR']; // Mendapatkan IP komputer user $tanggal = date("Ymd"); // Mendapatkan tanggal sekarang $waktu = time("U"); // mysqli_query("INSERT INTO online (ip,id_siswa,tanggal,online) VALUES ('$ip','$_SESSION[idsiswa]','$tanggal','Y')"); } else{ $ip = $_SERVER['REMOTE_ADDR']; // Mendapatkan IP komputer user $tanggal = date("Ymd"); // Mendapatkan tanggal sekarang $waktu = time("U"); // mysqli_query("UPDATE online SET ip='$ip',tanggal='$tanggal',online='Y' WHERE id_siswa = '$_SESSION[idsiswa]'"); } header('location:home'); } else{ echo ""; } } ?> Kesalahan fatal. Kesalahan yang tidak tertangkap. Panggil ke fungsi yang tidak terdefinisi mysql_real_escape_string() di C. \xampp\htdocs\cobak\administrator\cek_login. php. 4 Jejak tumpukan. #0 C. \xampp\htdocs\cobak\administrator\cek_login. php(8). anti_injection('admin') #1 {main} dilemparkan ke dalam C. \xampp\htdocs\cobak\administrator\cek_login. php on line 4 0){ session_start(); . php"; $_SESSION[namauser] = $r[username_login]; $_SESSION[namalengkap] = $r[nama_lengkap]; $_SESSION[passuser] = $r[password_login]; $_SESSION[leveluser] = $r[level] . rumah');