设为首页 收藏本站
查看: 884|回复: 0

[经验分享] PHP生成SQL基本操作增删查改拼接代码

[复制链接]

尚未签到

发表于 2015-8-25 10:43:18 | 显示全部楼层 |阅读模式
1 <?php
2 function create_sql_string($curdb){
3     $conn=mysql_connect('localhost','root','ubt');
4     mysql_select_db('information_schema',$conn);
5
6     //查询当前数据库所有表的表名
7     $sqlcmd=sprintf("SELECT `TABLE_NAME` FROM `TABLES` WHERE `TABLE_SCHEMA`='%s'",$curdb);
8
9     $res_tablename=mysql_query($sqlcmd);
10     $f=fopen('cbc.sql','w+');
11     while($tablename=mysql_fetch_assoc($res_tablename)){
12         //查询当前表中所有字段信息
13         $sqlcmd=sprintf("SELECT * FROM `COLUMNS` WHERE `TABLE_SCHEMA`='%s' AND `TABLE_NAME`='%s'",
14                         $curdb,$tablename['TABLE_NAME']);
15         $res=mysql_query($sqlcmd);
16         $i=0;
17         $primay_key="";
18         $primay_val="";
19         $insert_key="";
20         $insert_fmt="";
21         $insert_val="";
22         $update_val="";
23         while ($record=mysql_fetch_assoc($res)){
24             if($record['COLUMN_KEY']=='PRI'){
25                 $primay_key=($record['NUMERIC_PRECISION']=="")?
                  ("`".$record['COLUMN_NAME']."`='%s'"):
                  ("`".$record['COLUMN_NAME']."`=%s");
26                 $primay_val="\$_GET['".$record['COLUMN_NAME']."']";
27                                         
28             } else {
29
30                 if ($i>0) {
31                     $insert_key.=',';
32                     $insert_fmt.=',';
33                     $insert_val.=',';
34                     $update_val.=',';
35                 }
36                 $insert_key.='`'.$record['COLUMN_NAME'].'`';
37
38             //字符串型的字段和数值型的字段分别处理
39                 if ($record['NUMERIC_PRECISION']=="") {
40                     $insert_fmt.="'%s'";
41                     $insert_val.=("\$_POST['".$record['COLUMN_NAME']."']");
42                     $update_val.=("`".$record['COLUMN_NAME']."`='%s'");
43                 } else {
44                     $insert_fmt.="%s";
45                     $insert_val.=("\$_POST['".$record['COLUMN_NAME']."']");
46                     $update_val.=("`".$record['COLUMN_NAME']."`=%s");
47                 }
48
49                 ++$i;
50             }
51         }
52
53     /*
54     **增加记录
55     **sprintf("INSERT INTO `TABLE_NAME`(`COLUMN_NAME1`,`COLUMN_NAME1` ...) VALUES('%s','%s' ...)",
56     **          $POST['COLUMN_NAME1'],$POST['COLUMN_NAME2'],...);
57     **
58     **修改记录
59     **sprintf("UPDATE `TABLE_NAME` SET `COLUMN_NAME1`='%s',`COLUMN_NAME2`='%s' ... WHERE `id`=$s",
60     **          $POST['COLUMN_NAME1'],$POST['COLUMN_NAME2'], ... ,
61     **          ID);
62     **
63     **删除记录
64     **sprintf("DELETE FROM `TABLE_NAME` WHERE `id`=%s",
65     **          ID);
66     **
67     **查找记录
68     **sprintf("SELECT `COLUMN_NAME1`,`COLUMN_NAME2`, ... FROM `TABLE_NAME` WHERE `id`=%s",
69     **          ID);
70     */
71
72         $sqlcmd_insert=sprintf("INSERT INTO `%s`(%s) VALUES(%s)",
                    $tablename['TABLE_NAME'],$insert_key,$insert_fmt);
73         $sqlcmd_update=sprintf("UPDATE `%s` SET %s WHERE %s",
                    $tablename['TABLE_NAME'],$update_val,$primay_key);
74         $sqlcmd_delete=sprintf("DELETE FROM `%s` WHERE %s",
                    $tablename['TABLE_NAME'],$primay_key);
75         $sqlcmd_select=sprintf("SELECT %s FROM `%s` WHERE %s",
                    $insert_key,$tablename['TABLE_NAME'],$primay_key);
76         fprintf($f, "/*添加记录*/\r\n\$sqlcmd=sprintf(\"%s\",%s);\r\n",
              $sqlcmd_insert,$insert_val);
77         fprintf($f, "/*修改记录*/\r\n\$sqlcmd=sprintf(\"%s\",%s);\r\n",
              $sqlcmd_update,$primay_val);
78         fprintf($f, "/*删除记录*/\r\n\$sqlcmd=sprintf(\"%s\",%s);\r\n",
              $sqlcmd_delete,$primay_val);
79         fprintf($f, "/*查找记录*/\r\n\$sqlcmd=sprintf(\"%s\",%s);\r\n",
              $sqlcmd_select,$primay_val);
80         fwrite($f, "\r\n");
81     }
82     fclose($f);
83     mysql_close();
84 }
85 ?>
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103936-1-1.html 上篇帖子: php $_SERVER['orig_script_name'] 下篇帖子: PHP多文件上传操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表