zoukankan      html  css  js  c++  java
  • mysql 以数组的形式插入更新表

    在项目中用php+mysql,需要插入数据,但是数据库表字段又很长,如果用常规的insert into table (c) values ('dd')的话,将是很长的sql语句,而且一不小心,就弄错了。

    所以一般都用数组来操作,好多框架都有专门的功能,例如thinkphp的表映射,可用

    $result= $model->add($post) //$post为和表字段对应的数组 

    但是原生的怎么做,下面是我总结的,虽然看似繁琐了一点,但绝对比原来有效率;代码如下:

    <?php
    //a,b,c,d为表的字段,在我实际的项目中字段有好多
    $data['a'] = $_POST['a'];  
    $data['b'] = $_POST['b'];  
    $data['c'] = $_POST['c']; 
    $data['d'] = $_POST['d'];  
      
     
      
    foreach($data as $k=>$v){  
         $k1[] = '`'.$k.'`';  //将字段作为一个数组;  
         $v1[] = '"'.$v.'"';  //将插入的值作为一个数组;   
      
    }  
    
    
       $strv.=implode(',',$v1);     
       $strk.=implode(",",$k1);
    echo '<br>以下为插入代码';
    $sql = "insert into tb ($strk) values ($strv)";
    echo $sql;
    echo '<br>以下为更新代码';
    echo '<br>';
    
    foreach($data as $k=>$v){  
         $str[] = "`".$k."` = '".$v."'";  //将字段作为一个数组;  
            
      
    } 
    $strs=implode(',',$str);
    $sql = "update  tb set $strs where id=1";
    echo $sql;
    
     
    ?>  
    
     <form action="" method="post" name="asp">  
          框1:<input type="text" name="a" value="1" />  
          框2:<input type="text" name="b" value="2" />  
          框3:<input type="text" name="c" value="3" /> 
            框4:<input type="text" name="d" value="4" />    
          <input type="submit" name= "Download" vaue="Download" />  
    </form>

    这里只写出生成mysql语句的代码!

  • 相关阅读:
    一个统计代码行数的简单方法
    关于string的对象引用
    mysql连接的一些问题。
    linux环境初始化 用户问题
    php null o false ''
    php支付宝在线支付接口开发教程【转】
    模拟支付宝服务窗环境
    ctags
    校验全球电话号码 正确性 库 正则表达式
    php短路与 短路或
  • 原文地址:https://www.cnblogs.com/feng18/p/6556875.html
Copyright © 2011-2022 走看看