|
Posted by Michael on 11/13/07 15:03
On Nov 12, 11:27 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> 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
Navigation:
[Reply to this message]
|