captainel
01-03-2012, 03:49 PM
Hello everyone!
I am having trouble the last few days trying to output data from my database. This is concerning using the "mysqli_connect" and "mysqli_query" parameters.
What I have done is I want to put the connection settings in a class, and I with the normal "mysql_connect" it does work. But with mysqli it doesn't work.
What I get is an error message saying: "Warning: mysqli_query() expects parameter 1 to be mysqli, null given". Is there anything I am doing wrong here?
class database_connect {
var $db_host;
var $db_user;
var $db_pass;
var $db_db;
function connect() {
$connect_db = mysqli_connect($this->db_host, $this->db_user, $this->db_pass, $this->db_db) or die ("Connection failed");
}
function close() {
mysqli_free_result($result);
mysqli_close($connect_db);
}
}
$db_countries = new database_connect;
$db_countries->db_host = "localhost";
$db_countries->db_user = "root";
$db_countries->db_pass = "";
$db_countries->db_db = "site_countries";
function dbconnect_countries() {
global $db_countries, $connect_db;
$db_countries->connect();
$query = "SELECT * FROM countries";
$result = mysqli_query($connect_db, $query) or die ("Error in query: $query. ".mysqli_error());
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_row($result)) {
echo '<div>'.$row[0].'</div>';
}
}
else {
echo '<div>No countries found!</div>';
}
$db_countries->close();
}
Any help would be appreciated!
Elmo
I am having trouble the last few days trying to output data from my database. This is concerning using the "mysqli_connect" and "mysqli_query" parameters.
What I have done is I want to put the connection settings in a class, and I with the normal "mysql_connect" it does work. But with mysqli it doesn't work.
What I get is an error message saying: "Warning: mysqli_query() expects parameter 1 to be mysqli, null given". Is there anything I am doing wrong here?
class database_connect {
var $db_host;
var $db_user;
var $db_pass;
var $db_db;
function connect() {
$connect_db = mysqli_connect($this->db_host, $this->db_user, $this->db_pass, $this->db_db) or die ("Connection failed");
}
function close() {
mysqli_free_result($result);
mysqli_close($connect_db);
}
}
$db_countries = new database_connect;
$db_countries->db_host = "localhost";
$db_countries->db_user = "root";
$db_countries->db_pass = "";
$db_countries->db_db = "site_countries";
function dbconnect_countries() {
global $db_countries, $connect_db;
$db_countries->connect();
$query = "SELECT * FROM countries";
$result = mysqli_query($connect_db, $query) or die ("Error in query: $query. ".mysqli_error());
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_row($result)) {
echo '<div>'.$row[0].'</div>';
}
}
else {
echo '<div>No countries found!</div>';
}
$db_countries->close();
}
Any help would be appreciated!
Elmo