php mysql数据库操作类的简单示例

前端之家收集整理的这篇文章主要介绍了php mysql数据库操作类的简单示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一个PHP MysqL数据库操作类,功能不是很完善,但非常有用,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

<?PHP
/**
 * MysqL数据库操作类
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 **/
class Database{
private $host;
private $user;
private $pwd;
private $rows;
private $error;
private $result;
private $dbName;
private $connection;
private $isReady;

public function __construct(){
$this->result = null;
$this->isReady = false;
$this->error = array();
}
public function __destruct(){ @MysqL_close($this->connection); }

/* setters */
public function setHost($host){ $this->host = $host; }
public function setUser($user){ $this->user = $user; }
public function setPassword($pwd){ $this->pwd = $pwd; }
public function setDbName($dbName){ $this->dbName = $dbName; }

/* other interfaces */
public function init($host=null,$user=null,$pwd=null,$dbName=null){
if(!isset($host,$user,$pwd,$dbName))
die("Please provide require settings.");
$this->setHost($host);
$this->setUser($user);
$this->setPassword($pwd);
$this->setDbName($dbName);
$this->isReady = true;
}

public function select($dbName){
$this->setDbName($dbName);
MysqL_select_db($this->dbName,$this->connection) or die("The said database does not exist.");
}

public function query($sql){
$this->result = MysqL_query($sql,$this->connection) or die("Invalid query string!");
}

public function connect(){
if(!$this->isReady) die("not ready to connect");
$this->connection = MysqL_connect($this->host,$this->user,$this->pwd) or die("Could not connect to database. please check your credentials.");
$this->select($this->dbName);
$this->query("SET NAMES 'utf8'",$this->connection); //persian support
}

public function isConnected(){
if($this->connection)
return true;
return false;
}

public function disconnect(){
MysqL_close($this->connection);
$this->connection = null;
}

public function countRows($selectMode = true){
if($selectMode)
return MysqL_num_rows($this->result);
return MysqL_affected_rows($this->connection);
}

public function loadRows(){
if(!$this->result) die("Nothing found!");
$this->rows = array();
while($r = MysqL_fetch_array($this->result,MysqL_BOTH))
$this->rows[] = $r;
MysqL_free_result($this->result);
return $this->rows;
}

public function siftDown($dataStack){
if(!is_array($dataStack)){
$dataStack = ereg_replace("[\'\")(;|`,<>]","",$dataStack);
$dataStack = MysqL_real_escape_string(trim($dataStack),$this->connection);
$dataStack = stripslashes($dataStack);
return $dataStack;
}
$safeData = array();
foreach($dataStack as $p=>$data){
$data = ereg_replace("[\'\")(;|`,$data);
$data = MysqL_real_escape_string(trim($data),$this->connection);
$data = stripslashes($data);
$safeData[$p] = $data;
}
return $safeData;
}

public function secure($data){
return sha1(md5(sha1(md5(sha1($data)))));
}
}//Database class
?>

<?PHP //usage
require_once 'path/to/Database.class.PHP';
$db = new Database(); //Creating new object
$db->init("localhost","test_root","test_pwd!","test_db"); //initializing by credentials.
$db->connect(); //unicode support
$test_value = $db->siftDown($test_value); //preventing harmful inputs
$something_testy_else = $db->siftDown($something_testy_else);
$db->query("SELECT * FROM test_table WHERE test_field = '$test_value' AND second_test_field = '$something_testy_else' LIMIT 1");
if($db->countRows()==1)
$dbdata = $db->loadRows(); //returns a numeric/associative array as the result (MysqL_BOTH)
//TODO: To Process $dbdata
$db->disconnect();
?>

猜你在找的PHP相关文章