All pastes #826904 Raw Edit

Miscellany

public text v1 · immutable
#826904 ·published 2007-12-21 14:36 UTC
rendered paste body
abstract class Executor {
	protected $mdb2_;
		
	public function __construct() {
		//$dsn = $cfg['db']['dsn'];
		$this->mdb2_ = &MDB2::singleton('mysqli://root:admin@ess-4/eduLC');
		if (PEAR::isError($this->mdb2_)) {
			throw new Exception($this->mdb2_->getMessage(), $this->mdb2_->getCode());
		}
	}
}

class StoredProcExecutor extends Executor {
	private $rs_;
	
	public function & query($name, $params = null) {
		$this->mdb2_->loadModule('Function');
		
		$this->rs_ = &$this->mdb2_->executeStoredProc($name, $params);
		if (PEAR::isError($this->rs_)) {
			throw new Exception($this->rs_->getMessage(), $this->rs_->getCode());
		}
		return $this->rs_;
	}
	
	public function __destruct() {
		if ($this->rs_ != null)
			$this->rs_->free();
	}
}

function execSelectSP() {
	$sqe = new StoredProcExecutor();
	$param = array(1);
	$res = &$sqe->query('sample', $param);

	while (($row = $res->fetchRow())) {
		echo $row[0] . '&nbsp;|&nbsp;' . $row[1] . '&nbsp;|&nbsp;' . $row[2] . '<br>';
	}

	$sqe = null;
}