php往mysql插入数据,以数组形式插入(即数组键名是字段名,键值是value)
一条数组中的键名分属于两个不同的表,怎么用最简单的sql语句,往两个表中插入同一个数组的不同键,求详细介绍谢谢比如array(x=>aaa,y=>bbb,z=>ccc,w...
一条数组中的键名分属于两个不同的表,怎么用最简单的sql语句,往两个表中插入同一个数组的不同键,求详细介绍谢谢比如array(x=>aaa,y=>bbb,z=>ccc,w=>ddd),现在x和y是表一字段名,z和w是表二字段名,怎么写sql语句来完成插入
展开
2个回答
展开全部
确实,只能自己封装一个方法来拼sql,比如:
$arr = array('z'=>'ccc','w'=>'ddd');
doInsert('aaa', $arr);
doInsert('bbb', $arr);
function doInsert($tbname, $fields) {
$sql = 'insert into ' . $tbname . '(';
$sqlfield = '';
$sqlval = ' values(';
foreach ($fields as $field => $val) {
if (!empty($sqlfield)) {
$sqlfield .= ',';
$sqlval.=',';
}
$sqlfield .= $field;
$sqlval.='\'' . str_replace('\'', '\'\'', $val) . '\'';
}
// 执行拼接好的sql
$this->db->query($sql);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询