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语句的代码!

  • 相关阅读:
    javascript 编码规范
    javascript 减少全部变量
    轮播图 jquery
    SVN MAC
    php excel
    php email
    查看网站后台
    linux 下载文件
    第6周小组作业:软件测试和评估
    第4周小组作业:WordCount优化
  • 原文地址:https://www.cnblogs.com/feng18/p/6556875.html
Copyright © 2011-2022 走看看