0

We have a hard time converting mysql_query to mysqli with this code,, the error is

Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\xampp\htdocs\Projects\MeterReading\include\functions.php on line 45

This is the code for function.php on the line with error

//Display Data
function DisplayBLLData($db) {
    //global $conn;
    $sql = "SELECT * from `bl_inv_discon`";
    $result = $db->query($sql);
    var_dump($result); die();
    return $result;
}

Here's another code for out queries

<?php
include_once 'config.php';

class DB extends mysqli {
    function DB() {
        global $dbhost, $dbuser, $dbpwd, $dbname;
        $conn = mysqli_connect($dbhost, $dbuser, $dbpwd, $dbname) or die("Failed to connect to server!" .  mysqli_error());
        return $conn;
    }
    /*function selectDB($dbname) {
        global $dbhost, $dbuser, $dbpwd;
        $conn   = mysqli_connect($dbhost, $dbuser, $dbpwd) or die("Failed to connect to server!" . mysqli_error());
        $result = mysqli_select_db($dbname, $conn) or die("Failed to select database!" . mysqli_error());
        return $result;
    }*/
    function query($sql) {
        global $dbhost, $dbuser, $dbpwd, $dbname;
    //  global $conn;
        $conn = mysqli_connect($dbhost, $dbuser, $dbpwd, $dbname) or die("Failed to connect to server!" .  mysqli_error());

        $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
        //var_dump($conn); die();
        return $result;
    }
    function num_rows($data) {
        return mysqli_num_rows($data);
    }
    function fetch_array($result) {
        return mysqli_fetch_array($result);
    }
    function fetch_assoc($data) {
        return mysqli_fetch_assoc($data);
    }
    function escape_string($data) {
        return mysqli_real_escape_string($data);
    }
}
$db = new DB;
?>
mshomali
  • 664
  • 1
  • 8
  • 27

1 Answers1

0

What you're doing here is just creating an object of class DB and not calling the function DB for the connection. I assume you are considering DB() as constructor but in php constructors are created in a different way( using __construct keyword). What you need to do is just simple.

$obj=new DB();
$db=$obj->DB();

Then pass $db as parameter to your function and I hope it will work just fine.

Haris
  • 764
  • 4
  • 9
  • 27