mysql insert into 以数组的形式插入表
发表于2013/5/28 2:29:49 9230人阅读
分类: mysql
$result= $model->add($post) //$post为和表字段对应的数组
但是原生的怎么做,下面是我总结的,虽然繁琐了一点,但绝对可行;例:
$link = mysql_connect('localhost','root','pwd');
mysql_select_db('db',$link);
$data['a'] = $post['a'];
$data['b'] = $post['b'];
$data['c'] = $post['c'];
$data['c'] = $post['c'];
$data['d'] = $post['d'];
$data['e'] = $post['e'];
$data['f'] = $post['f'];
$data['g'] = $post['g'];
//a,b,c,d,e,f,g为表的字段
foreach($data as $k=>$v){
$k1[] = '`'.$k.'`'; //将字段作为一个数组;
$v1[] = '"'.$v.'"'; //将插入的值作为一个数组;
}
$strv.=implode(',',$v1);
$strk.=implode(",",$k1);
$sql = "insert into tb ($strk) values ($strv)";
mysql_query($sql);
目前,就这样做,还没有想更好的方法。
在网上也有这样做的,不过我还没有测试。
第一步:我们先来创建一个表格来存储数组变量的值,就是用mysql自带的test数据库吧
Use test;
Creat table ‘NEIL’ ( ‘ID’ int(20) primary key not null,
‘Major’ varchar(25) not null);
第二步:我们来建立一个复选框页面用来模拟一个实例PHP数组 index.html
<body>
<form method="post" action="show.php">
ID: <input type=”text” name=”id”><br>
<input type="checkbox" name="teach[0]" value="online">Online<br>
<input type="checkbox" name="teach[1]" value="video">video<br>
<input type="checkbox" name="teach[2]" value="face">Face-to-Face<br>
<input type="submit" value="submit">
</form>
第三步:我们来描述show.php
Index.html通过post 将变量提交给show.php来处理,我们先来写show.php代码
<?php
$db_name=”test”;
$table_name=”neil”;
$connection= @mysql_connect(“localhost”,”root”,”root”) or die(mysql_error());
$db= @mysql_select_db($db_name,$connection) or die (mysql_error());
/*这里我们来进行数组变量的处理*/
$value=’’; //定义一个变量value初始化为空
Foreach($_POST[“teach”] as $key)
{ $value.=$key.’,’;} /*将数组值传递给中间变量key, 由key 将值传依次递给变量value */
/*插入语句*/
$sql=”insert into neil values (‘$_POST[id]’,’$value’)”;
$query= @mysql_query($sql,$connection) or die(mysql_error());
?>