PHP操作mysqlクラスのパッケージ
9598 ワード
バージョン1:
バージョン2:(慕課網の学習に由来)
DBエンジンファクトリクラス
conn=mysqli_connect($this->host,$this->username,$this->password,$this->dbname);
if (!$this->conn) {
mysqli_error($this->conn);
die(" ".mysqli_error($this->conn));
}
//
mysqli_query($this->conn, "set names utf8") or die(mysqli_error($this->conn));
}
// dql
public function execute_dql($sql) {
$res=mysqli_query($this->conn,$sql) or die(mysqli_error($this->conn));
return $res;
}
// dql ,
public function execute_dql2($sql) {
$arr=array();
$res=mysqli_query($this->conn,$sql) or die(mysqli_error($this->conn));
//$i=0;
while($row=mysqli_fetch_assoc($res)) {
//$arr[$i++]=$row;
$arr[]=$row;
}
// $res
mysqli_free_result($res);
return $arr;
}
// , oop
//$sql1="select * from where limit 0,6";
//$sql2="select * from count(id) from ";
public function execute_dql_fenye($sql1,$sql2,$fenyePage) {
//
$res=mysqli_query($this->conn, $sql1) or die(mysqli_error($this->conn));
$arr=array();
while($row=mysqli_fetch_assoc($res)) {
$arr[]=$row;
}
// $res
mysqli_free_result($res);
$res2=mysqli_query($this->conn, $sql2) or die(mysqli_error($this->conn));
if($row=mysqli_fetch_row($res2)) {
$fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);
$fenyePage->rowCount=$row[0];
}
mysqli_free_result($res2);
$fenyePage->res_array=$arr;
$navigation="";
$navigation.= "トップページ ";
//
if($fenyePage->pageNow > 1) {
$prePage=$fenyePage->pageNow-1;
$navigation.= " のページ ";
}
$page_whole=10;//
$start=(floor(($fenyePage->pageNow-1)/$page_whole))*$page_whole+1;
$end=$start+$page_whole;
// 10
// pageNow 1-10
if ($fenyePage->pageNow>$page_whole)
$navigation.= "<< ";
for(;$startpageCount;$start++) {
$navigation.= "[$start]";
}
if($start <= $fenyePage->pageCount)
$navigation.= " >>";
//
if($fenyePage->pageNow < $fenyePage->pageCount) {
$nextPage=$fenyePage->pageNow+1;
$navigation.= " のページ ";
}
$navigation.= " ページ ";
//
$navigation.= " {$fenyePage->pageNow} / {$fenyePage->pageCount} ";
$fenyePage->navigation=$navigation;
}
// dml
public function execute_dml($sql) {
$b=mysqli_query($this->conn, $sql) or die(mysqli_error($this->conn));
if(!$b) {
return 0;
} else {
if(mysqli_affected_rows($this->conn)>0) {
return 1;//
} else {
return 2;//
}
}
}
//
public function close_connect() {
if(!empty($this->conn))
mysqli_close($this->conn);
}
}
?>
バージョン2:(慕課網の学習に由来)
err(mysql_error());
}
if(!mysql_select_db($dbname, $con)) { //mysql_select_db
$this->err(mysql_error());
}
mysql_query("set names ".$dbcharset); // mysql_query , : mysql_query("set names utf8")
}
/*
sql
@param string $sql
@return bool 、
*/
function query($sql) {
if(!($query = mysql_query($sql))) { // mysql_query sql
$this->err($sql."
".mysql_error()); //mysql_error
} else {
return $query;
}
}
/*
@param source $query sql mysql_query
@return array
*/
function findAll($query) {
while($rs = mysql_fetch_array($query, MYSQL_ASSOC)) { //mysql_fetch_array ,
$list[] = $rs;
}
//
//mysql_free_result($query)
return isset($list) ? $list : "";
}
/*
@param source $query sql mysql_query
return array
*/
function findOne($query) {
$rs = mysql_fetch_array($query, MYSQL_ASSOC);
return $rs;
}
/*
@param source $query sql mysql_query
return array
*/
function findResult($query, $row = 0, $field = 0) {
$rs = mysql_result($query, $row, $field);
return $rs;
}
/*
@param string $table
@param array $arr ( )
*/
function insert($table, $arr) {
// $sql = "insert into ( ) values( )";
// mysql_query($sql)
foreach ($arr as $key => $value) {
$value = mysql_real_escape_string($value);
$keyArr[] = "`".$key."`"; // $arr $keyArr insert into test(`a`,`b`,`c`) values... `
$valueArr[] = "'".$value."'"; // $arr $valueArr , , sql insert ,
}
$keys = implode(",", $keyArr); //implode implode( , )
$values = implode(",", $valueArr);
$sql = "insert into ".$table."(".$keys.") values(".$values.")"; //sql :insert into ( ) values( )
$this->query($sql); // query( ) sql :$this
return mysql_insert_id();
}
/*
@param string $table
@param array $arr ( )
@param string $where
*/
function update($table, $arr, $where) {
//update set = where ....
foreach($arr as $key=>$value) {
$value = mysql_real_escape_string($value);
$keyAndvalueArr[] = "`".$key."`='".$value."'";
}
$keyAndvalues = implode(",", $keyAndvalueArr);
$sql = "update ".$table." set ".$keyAndvalues." where ".$where; // update
}
/*
@param string $table
@param string $where
*/
function del($table, $where) {
$sql = "delete from ".$table." where ".$where; // sql :delete from where
return $this->query($sql);
}
}
?>
DBエンジンファクトリクラス
connect($config);
}
public static function query($sql) {
return self::$db->query($sql);
}
public static function findAll($sql) {
$query = self::$db->query($sql);
return self::$db->findAll($query);
}
public static function findOne($sql) {
$query = self::$db->query($sql);
return self::$db->findOne($query);
}
public static function findResult($sql, $row = 0, $field = 0) {
$query = self::$db->query($sql);
return self::$db->findResult($query, $row, $field);
}
public static function insert($table, $arr) {
return self::$db->insert($table, $arr);
}
public static function update($table, $arr, $where) {
return self::$db->update($table, $arr, $where);
}
public static function del($table, $where) {
return self::$db->del($table, $where);
}
}
?>