根据 Mysql 里的字段 自动生成 类文件:
但需要导入:
require_once ./db/ez_sql_core.php;
require_once ./db/ez_sql_mysql.php;
帮助文档:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm
上图 :
核心代码:
复制代码 代码如下:
<?php
class db{
/**********************************************************************
* Author: fangjun (fangjunai@163.com)
* Name..: PHP_For_MySQL_Helper v1.0
* Desc..: 自动生成数据库操作类
* Date..: 2011-7-22
/**********************************************************************/
private $db_server = "localhost";
private $db_username = "root";
private $db_password = "";
private $primary_key = null;
//初始化
public function __construct(){
$this->db_conn = mysql_connect($this->db_server,$this->db_username,$this->db_password) or die("Error:".mysql_error());
}
//返回所以的数据库名称
public function db_list(){
$databasename = array();
$i=0;
$list = mysql_list_dbs($this->db_conn);
while ($row = mysql_fetch_object($list)) {
$databasename[$i] = $row->Database;
$i++;
}
mysql_close();
return $databasename;
}
//返回所以的数据库名称
public function table_list($databasename){
$tablename = array();
$i=0;
$result = @mysql_list_tables($databasename);
while($row = mysql_fetch_array($result,MYSQL_NUM)){
$tablename[$i] = $row[0];
$i++;
}
mysql_free_result($result);
mysql_close();
return $tablename;
}
//返回表里的字段
public function field_list($databasename,$tablename){
$fieldname = array();
$v = 0;
mysql_select_db($databasename,$this->db_conn);
$rel = mysql_query("select * from ".$tablename);
for($i=0;$i<mysql_num_fields($rel);$i++){
$meta = mysql_fetch_field($rel);
if($meta){
if($meta->primary_key==1){
$this->primary_key = $meta->name;
}else{
$fieldname[$v] = $meta->name;
$v++;
}
}
}
mysql_close();
return $fieldname;
}
public function showclass($databasename,$tablename){
$field = $this->field_list($databasename,$tablename);
$this->primary_key;
$key = null;
$val = null;
$sql = null;
$tmp = null;
$html = "////////////////////////////////////<br/>";
$html = $html."//使用方法<br/>";
$html = $html."// 导入<br/>";
$html = $html."// ez_sql:http://jvmultimedia.com/docs/ezsql/ez_sql_help.htm";
$html = $html."// require_once "./db/ez_sql_core.php;<br/>";
$html = $html."// require_once "./db/ez_sql_mysql.php;<br/>";
$html = $html."// $db = new ezSQL_mysql($cfg_db_user,$cfg_db_pass,$cfg_db_name,$cfg_db_host);<br/>";
$html = $html."// $db->query("set names utf8");<br/>";
$html = $html."// 调用<br/>";
$html = $html."// $forum = new Forum($db);<br/>";
$html = $html."// $forum->save($Posts);<br/>";
$html = $html."////////////////////////////////////<br/><br/><br/>";
$html = $html."// 作者:<br/>";
$html = $html."// 备注:<br/>";
$html = $html."// 创建时间:".date("Y-m-d H:i:s")."<br/>";
$html = $html."<PRE> class ".$tablename."{<br/>";
$html = $html."<br/>";
$html = $html." private $db";
$html = $html."<br/>";
$html = $html."<br/>";
$html = $html." //实例化 <br/>";
$html = $html." public function ".$tablename."($db){<br/>";
$html = $html." $this->db = $db;<br/>";
$html = $html." }<br/>";
$html = $html."<br/>";
$html = $html." //保存记录<br/>";
$html = $html." public function save($arry){<br/>";
for($i=0;$i<count($field);$i++){
$key = $key.$field[$i].",";
$val = $val.""{$arry[".$field[$i]."]}",";
}
$sql = ""insert into ".$tablename." (".rtrim($key,",").")values(".rtrim($val,",").")"";
$html = $html." $sql=".$sql.";<br/>";
$html = $html." return $this->db->query($sql);<br/>";
$html = $html." }<br/>";
$html = $html."<br/>";
$html = $html." //根据主键更新记录 <br/>";
$html = $html." public function update($arry){<br/>";
for($i=0;$i<count($field);$i++){
$tmp = $tmp.$field[$i]."="{$arry[".$field[$i]."]}",";
}
$sql = ""update ".$tablename." set ".rtrim($tmp,",")." where ".$this->primary_key."=".$arry[".$this->primary_key."]";
$html = $html." $sql=".$sql.";<br/>";
$html = $html." return $this->db->query($sql);<br/>";
$html = $html." }<br/>";
//PostID="{$Posts["PostID"]}"";
$html = $html."<br/>";
$html = $html." //根据主键删除记录 <br/>";
$html = $html." public function delete($".$this->primary_key."){<br/>";
$sql = ""delete from ".$tablename." where ".$this->primary_key."=".$".$this->primary_key;
$html = $html." $sql=".$sql.";<br/>";
$html = $html." return $this->db->query($sql);<br/>";
$html = $html." }<br/>";
$html = $html."<br/>";
$html = $html." //根据主键查询一条记录 <br/>";
$html = $html." public function getQueryById($".$this->primary_key."){<br/>";
$sql = ""select * from ".$tablename." where ".$this->primary_key."=".$".$this->primary_key;
$html = $html." $sql=".$sql.";<br/>";
$html = $html." return $this->db->get_row($sql);<br/>";
$html = $html." }<br/>";
$html = $html."<br/>";
$html = $html." //查询全部记录 <br/>";
$html = $html." public function getQuery(){<br/>";
$sql = ""select * from ".$tablename.""";
$html = $html." $sql=".$sql.";<br/>";
$html = $html." return $this->db->get_results($sql);<br/>";
$html = $html." }<br/>";
$html = $html."<br/>";
$html = $html."<br/>";
$html = $html."}</PRE>";
echo $html;
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> PHP For MySQL Helper v1.0 </title>
<style>
body{ font-size:14px;}
h3{ padding:0px; margin:0px; background-color:#333; color:#FFF;font-size:14px; }
.dblist,.tablelist,.show{width:100%;padding:10px 0;}
a:link {}
a:hover {color:#F00}
</style>
</head>
<body>
<?php
ini_set("default_charset", "utf-8");
echo "<div class="dblist">";
echo "<h3>请选择数据库</h3>";
//-----------------------------------
$DB = new db();
$dblist = $DB->db_list();
for ($row=0;$row<count($dblist);$row++){
echo "<a href="?databasename=".$dblist[$row]."">".$dblist[$row]."</a><br/>";
}
//-----------------------------------
echo "</div>";
echo "<div class="tablelist">";
echo "<h3>请选择表</h3>";
//-----------------------------------
if(isset($_GET["databasename"])){
$databasename = $_GET["databasename"];
$DB = new db();
$tablelist = $DB->table_list($databasename);
for ($i=0;$i<count($tablelist);$i++){
echo "<a href="db.php?databasename=".$databasename."&tablename=".$tablelist[$i]."">".$tablelist[$i]."</a><br/>";
}
}
//-----------------------------------
echo "</div>";
echo "<div class="show">";
echo "<h3>自动生成数据类</h3>";
//-----------------------------------
if(isset($_GET["databasename"])&& isset($_GET["tablename"])){
$databasename = $_GET["databasename"];
$tablename = $_GET["tablename"];
$DB = new db();
$DB->showclass($databasename,$tablename);
}
//-----------------------------------
echo "</div>";
?>
</body>
</html>
代码打包下载