469,575 Members | 1,658 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,575 developers. It's quick & easy.

How to use mysqli object in object, need advise

Hi,

I try to use mysqli object instead of standard mysql functions.
Is it ok to create mysqli object within my class or schould I pass
mysqli object to my object.
The problem is, with code below I must call mysqli->connect() each
time I call class methods. How do I create an connection for hole
object, so methods can do queries without connect each time?

Best Regards, Michael
<?

$a = new MyClass();

//here other stuf with connections to other databases

$a->connectToDB($mydb);
$a->methode1();

//and so on...

?>
class MyClass{
var one = '';
var mysqli = '';

function __construct(){
$this->mysqli = new mysqli() //with all needed parameters
}
function connectToDB($db){
$this->mysqli->connect() //with all needed parameters

}

function methode1(){
//my stuff here with mysqli query
}

function methode2(){
/ /my stuff here with another mysqli query
}

}

Nov 12 '07 #1
2 2987
Michael wrote:
Hi,

I try to use mysqli object instead of standard mysql functions.
Is it ok to create mysqli object within my class or schould I pass
mysqli object to my object.
The problem is, with code below I must call mysqli->connect() each
time I call class methods. How do I create an connection for hole
object, so methods can do queries without connect each time?

Best Regards, Michael
<?

$a = new MyClass();

//here other stuf with connections to other databases

$a->connectToDB($mydb);
$a->methode1();

//and so on...

?>
class MyClass{
var one = '';
var mysqli = '';

function __construct(){
$this->mysqli = new mysqli() //with all needed parameters
}
function connectToDB($db){
$this->mysqli->connect() //with all needed parameters

}

function methode1(){
//my stuff here with mysqli query
}

function methode2(){
/ /my stuff here with another mysqli query
}

}

Michael,

First of all, you'll find it easier to derive your class from mysqli.
You'll then be able to call the mysqli functions directly from your
program (or override them in your class, as necessary).

For instance, you could create a connect() function with calls
parent::connect() with the appropriate parameters.

But either way, you should only need to connect when you create a new
MyClass object. If you use the same object multiple places in your
page, you should be able to just keep using the same connection.

Unfortunately, you didn't show us more of the code so we can see what's
going wrong.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================

Nov 12 '07 #2
On Nov 12, 11:27 pm, Jerry Stuckle <jstuck...@attglobal.netwrote:
Michael wrote:
Hi,
I try to use mysqli object instead of standard mysql functions.
Is it ok to create mysqli object within my class or schould I pass
mysqli object to my object.
The problem is, with code below I must call mysqli->connect() each
time I call class methods. How do I create an connection for hole
object, so methods can do queries without connect each time?
Best Regards, Michael
<?
$a = new MyClass();
//here other stuf with connections to other databases
$a->connectToDB($mydb);
$a->methode1();
//and so on...
?>
class MyClass{
var one = '';
var mysqli = '';
function __construct(){
$this->mysqli = new mysqli() //with all needed parameters
}
function connectToDB($db){
$this->mysqli->connect() //with all needed parameters
}
function methode1(){
//my stuff here with mysqli query
}
function methode2(){
/ /my stuff here with another mysqli query
}
}

Michael,

First of all, you'll find it easier to derive your class from mysqli.
You'll then be able to call the mysqli functions directly from your
program (or override them in your class, as necessary).

For instance, you could create a connect() function with calls
parent::connect() with the appropriate parameters.

But either way, you should only need to connect when you create a new
MyClass object. If you use the same object multiple places in your
page, you should be able to just keep using the same connection.

Unfortunately, you didn't show us more of the code so we can see what's
going wrong.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attglobal.net
==================
Hi Jerry,

thanks for your suggestions. I derive now my class from mysqli class
and it is indeed much better. My problem was, that I needed connection
to DB in __constructor and forget to initiate it. Anyway, it works as
expected now.

Best regards

Nov 13 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Greg Schumacher | last post: by
6 posts views Thread by Christopher Watson | last post: by
26 posts views Thread by Dodger | last post: by
12 posts views Thread by davids58 | last post: by
13 posts views Thread by Schmidty | last post: by
21 posts views Thread by Daz | last post: by
2 posts views Thread by webcm123 | last post: by
2 posts views Thread by Taras_96 | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.