OOP PHP with MySQLi
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

OOP PHP with MySQLi

From: Citrus <info@citrus.be>
Date: Tue Jan 31 2006 - 15:04:17 CET

Hey, i'm looking for the best possible way for connecting to my database
without too much of an effort.

The example works fine and fast. What i need to know is if it's safe, stable
and the way to go. If anyone has a better way for connecting side-wide to
something i'd like you to show me. I've had it working before using 'global'
but people told me 'global' is bad programming.

One of the possibilities would be to make the link and pass it on to every
function and object but this is NOT an option because it makes my script
less transparant and easy to read.

<?php

class My {
  private static $connection;

  function SQL() {
    if(empty(self::$connection)) {
      self::$connection = new mysqli("localhost", "user", "password", "db");
    }
    return self::$connection;
  }
}

class User {
  function __construct() {
    echo "user init<p>";
  }

  public function show() {
    $query = My::SQL()->query("SELECT * FROM user");
    while($row = $query->fetch_object()) {
      echo $row->login."<p>";
    }
  }
}

$user = new User();
$user->show();

//Works here too
$query = My::SQL()->query("SELECT * FROM user");
while($row = $query->fetch_object()) {
  echo $row->login."<p>";
}

?>
Received on Tue Feb 7 21:08:17 2006