Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mysqli_query() expects parameter 1 to be mysqli, object given

I'm trying to create a class which can be used for connecting to MySQL database. This is my code:

The class:

<?php

class createCon  {
    var $host = 'localhost';
    var $user = 'root';
    var $pass = '';
    var $db = 'example';
    var $myconn;

    function connect() {
        $con = mysqli_connect($this->host, $this->user, $this->pass, $this->db);
        if (!$con) {
            die('Could not connect to database!');
        } else {
            $this->myconn = $con;
            echo 'Connection established!';}
        return $this->myconn;
    }

    function close() {
        mysqli_close($myconn);
        echo 'Connection closed!';
    }

}

And this is where I try to query the database:

<?php

include 'connect.php';

$connection = new createCon();
$connection->connect();

$query = 'SELECT * FROM  `nickname`';
$result = mysqli_query($connection, $query);

if($numrows = mysqli_num_rows($result)) {
    echo $numrows;
    while ($row = mysqli_fetch_assoc($result)) {
        $dbusername = $row['nick'];
        $dbpassword = $row['pass'];
        echo $dbusername;
        echo $dbpassword;
    }
}

I get the following error when I try to make a query:

Warning: mysqli_query() expects parameter 1 to be mysqli, object given in C:\wamp\www\uppgift 1 kompletering\test.php on line 13

like image 660
Cevil Avatar asked Jan 19 '14 22:01

Cevil


People also ask

How many parameters can be used with the Mysqli_query () function?

PHP uses mysqli query() or mysql_query() function to create or delete a MySQL database. This function takes two parameters and returns TRUE on success or FALSE on failure.

How many parameter Mysqli_query () Atleast it takes?

Error: mysqli_query() expects at least 2 parameters, 1 given.

What is the result of Mysqli_query?

For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN , mysqli_query() will return a mysqli_result object. For other successful queries, mysqli_query() will return true .


1 Answers

You want to pass in $connection->myconn instead of $connection. As in:

$result = mysqli_query($connection->myconn, $query);

As it stands, you're passing in an instance of your class, rather than a mysqli, which is what the error messages are complaining about.

like image 115
jameslafferty Avatar answered Oct 11 '22 08:10

jameslafferty