mysql 以数组的形式插入更新表
生活随笔
收集整理的這篇文章主要介紹了
mysql 以数组的形式插入更新表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在項(xiàng)目中用php+mysql,需要插入數(shù)據(jù),但是數(shù)據(jù)庫表字段又很長,如果用常規(guī)的insert into table (c) values ('dd')的話,將是很長的sql語句,而且一不小心,就弄錯(cuò)了。
所以一般都用數(shù)組來操作,好多框架都有專門的功能,例如thinkphp的表映射,可用
$result= $model->add($post) //$post為和表字段對(duì)應(yīng)的數(shù)組但是原生的怎么做,下面是我總結(jié)的,雖然看似繁瑣了一點(diǎn),但絕對(duì)比原來有效率;代碼如下:
<?php //a,b,c,d為表的字段,在我實(shí)際的項(xiàng)目中字段有好多 $data['a'] = $_POST['a']; $data['b'] = $_POST['b']; $data['c'] = $_POST['c']; $data['d'] = $_POST['d']; foreach($data as $k=>$v){ $k1[] = '`'.$k.'`'; //將字段作為一個(gè)數(shù)組; $v1[] = '"'.$v.'"'; //將插入的值作為一個(gè)數(shù)組; } $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."'"; //將字段作為一個(gè)數(shù)組; } $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語句的代碼!
轉(zhuǎn)載于:https://www.cnblogs.com/feng18/p/6556875.html
總結(jié)
以上是生活随笔為你收集整理的mysql 以数组的形式插入更新表的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Codevs 3002 石子归并 3(D
- 下一篇: 算法提高 合并石子