PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2015-01-24信息快讯网
根据 Mysql里的字段自动生成类文件的实现代码,学习php的朋友可以参考下。
根据 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 ([email protected]) * 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>
代码打包下载
PHP对MongoDB[NoSQL]数据库的操作
php并发对MYSQL造成压力的解决方法
php连接mssql数据库的几种方法
php中存储用户ID和密码到mysql数据库的方法
php中选择什么接口(mysql、mysqli)访问mysql
APACHE的AcceptPathInfo指令使用介绍
在windows服务器开启php的gd库phpinfo中未发现
mysqli_set_charset和SET NAMES使用抉择及优劣分析
整理的一些实用WordPress后台MySQL操作命令
将博客园(cnblogs.com)数据导入到wordpress的代码
zend framework配置操作数据库实例分析
windows下zendframework项目环境搭建(通过命令行配置)
PHP去掉从word直接粘贴过来的没有用格式的函数
PHP fopen 读取带中文URL地址的一点见解
php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
PHP中使用foreach和引用导致程序BUG的问题介绍
PHP里的中文变量说明
php文档更新介绍
PHP查询MySQL大量数据的时候内存占用分析
关于php连接mssql:pdo odbc sql server
MySQL连接数超过限制的解决方法
php中用foreach来操作数组的代码
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
php入门学习知识点一 PHP与MYSql连接与查询
PHP 获取MySQL数据库里所有表的实现代码
PHP 数据结构 算法描述 冒泡排序 bubble sort
php与mysql建立连接并执行SQL语句的代码
PHP array_multisort()函数的使用札记
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
PHP读取网页文件内容的实现代码(fopen,curl等)
PHP 获取远程网页内容的代码(fopen,curl已测)
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)