PHP FOR MYSQL 代码生成助手(根据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 (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>

代码打包下载

时间: 2024-10-04 00:38:31

PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)_php技巧的相关文章

JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号

问题描述 JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号 我想做个聊天系统,想在Mysql的一张注册表中,加入注册信息后,让数据库自动生成一个Icq号.好像我们的QQ账号似的.简单的只要能实现就行.我新手. 解决方案 添加一个字段,设置为int或bigint类型,在设置主键自增长(AUTO_INCREMENT ). 解决方案二: 添加一个字段,设置为int 主键 自动增长就可以了. 解决方案三: 数据库增加一列,设置为标识列,有种子和增量. 解决方案四: 可

PHP实现的通过参数生成MYSQL语句类完整实例_php技巧

本文实例讲述了PHP实现的通过参数生成MYSQL语句类.分享给大家供大家参考,具体如下: 这个类可以通过指定的表和字段参数创建SELECT ,INSERT , UPDATE 和 DELETE 语句. 这个类可以创建SQL语句的WHERE条件,像LIKE的查询语句,使用LEFT JOIN和ORDER 语句 <?php /* ******************************************************************* Example file This ex

Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)_php技巧

首先启动命令行 1.在命令行运行:taskkill /f /im mysqld-nt.exe 下面的操作是操作mysql中bin目录下的一些程序,如果没有配置环境变量的话,需要切换到mysql的bin 目录下执行如下语句.不然无效 2.继续在命令行运行:mysqld-nt --skip-grant-tables 3.新开一个命令行运行:mysql -u root   (如果没有配置mysql的bin环境变量的话需要切换到bin目录下执行此语句) 如果不想改密码,只是想看原来的密码的话.可以在命令

php实现带读写分离功能的MySQL类完整实例_php技巧

本文实例讲述了php实现带读写分离功能的MySQL类.分享给大家供大家参考,具体如下: 概述: 1. 根据sql语句判断是连接读库还是写库 2. 链式调用$this->where()->get() 3. 不同的主机对应不同的实例, 不再多次new 具体代码如下: <?php class DBRWmysql { private static $Instance = null; private $links = array();//链接数组 private $link = null; //当

ThinkPHP里用U方法调用js文件实例_php实例

本文实例讲述了ThinkPHP里用U方法调用js文件的方法.分享给大家供大家参考.具体如下: 在TP里提供了在模板文件中直接调用函数的快捷方法.U是其中之一.手册里有它的用法: 复制代码 代码如下: {:U('User/insert' )} 先把js文件的后缀改成html(这个不会影响),然后写个JsAction,在里面进行调用: <?php class JsAction extends Action{ function nav() { $this->display('Index:js:nav

php mysql获取表字段名称和字段信息的三种方法_php技巧

php mysql获取表字段名称和字段信息的三种方法 先给出本实例中使用的表的信息: 使用desc获取表字段信息 php代码如下: <?php mysql_connect("localhost","root",""); mysql_select_db("test"); $query = "desc student"; $result = mysql_query($query); while($row=

php基于单例模式封装mysql类完整实例_php技巧

本文实例讲述了php基于单例模式封装mysql类.分享给大家供大家参考,具体如下: 类: <?php header("content-type:text/html;charset=utf-8"); //封装一个类 /* 掌握满足单例模式的必要条件 (1)私有的构造方法-为了防止在类外使用new关键字实例化对象 (2)私有的成员属性-为了防止在类外引入这个存放对象的属性 (3)私有的克隆方法-为了防止在类外通过clone成生另一个对象 (4)公有的静态方法-为了让用户进行实例化对象

PHP导出MySQL数据到Excel文件(fputcsv)_php技巧

这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. 复制代码 代码如下: // 输出Excel文件头,可把user.csv换成你要的文件名 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="user.csv"'); header('Cache-Control: max-age=0'); // 从数据库中获取

PHP里8个鲜为人知的安全函数分析_php技巧

本文实例讲述了PHP里8个鲜为人知的安全函数.分享给大家供大家参考.具体分析如下: 安全是编程非常重要的一个方面.在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性.在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道"永远不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.这里我们就来看看,在著名的开源语言PHP中有哪些有用的安全函数. 在PHP中,有些很有用的函数开源非常方便的防止你的网站遭受各种攻击,例如