Afactory mysql シンプル クラスがあり、このメソッドで使用できます。
Afactory.class.php
:
require_once ( substr( dirname(__FILE__), 0, -5 ).'config.inc' );
class AFactory
{
private $DBhost;
private $DBuser;
private $DBpass;
private $DBname;
private $DBport;
private $queryResult;
private $linkConnection;
public function __construct()
{
$this->DBhost=LOCALHOST;
$this->DBuser=USERNAME;
$this->DBpass=PASSWORD;
$this->DBname=DATABASE;
}
public function getDBO()
{
$linkConnection = mysql_connect ($this->DBhost , $this->DBuser , $this->DBpass);
mysql_query("set charset set utf8", $linkConnection);
mysql_query("set names 'utf8'", $linkConnection);
return mysql_select_db($this->DBname) ? TRUE : FALSE;
}
public function setQuery($query)
{
return mysql_query($query);
}
public function loadAssoc()
{
$array=NULL;
while($result = mysql_fetch_assoc($this->queryResult ))
$array[] = $result;
return $array;
}
}
このファイルを使用すると、クラスとクラスの関数を使用できます
text.php:
$db=new AFactory();
$link=$db->getDBO();
$db->loadAssoc($db->setQuery("SELECT * FROM users")); // this can return array
新しいクラスを作成し、Afactory クラスを使用したい
testclass.php:
include ( substr( dirname(__FILE__), 0, -5 ).'alachiq_settings.php' );
class alachiq extends AFactory{
public function __construct() {
parent::__construct();
}
public function fetchArray(){
echo parent::getDBO(); //this line can return successfull connect to db
return parent::loadAssoc(parrent::setQuery("SELECT * FROM users")); //fetch sql command
}
}
Afactoryを拡張してalachiqクラスを作成した後、このメソッドを使用できません:
useTestClass:
include('testclass.php');
print_r( alachiq::fetchArray() );
私のコードの問題は何ですか?