例如:一个数组有三个值:array("jack","男","20"),如果作为一个记录一次性插入一个表students的3个字段:name,sex,age,请问sql怎么写?
//第一个字段id
$sql = insert into table values("'','".implode("','",$arr)."'");追问
$this->db->query($sql);
$sql = insert into table values("'','".implode("','",$arr)."'");追问
请问可以在公式里面加trim(),删除元素值前后的空格吗?
追答$sql = insert into table(name,sex,age) values("'".implode("','",$arr)."'");$this->db->query($sql);
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-12-04
INSERT INTO students (id,name,sex,age) VALUES (NULL,array[1],array[2],array[3])
其中 id 是键值,递增追问
其中 id 是键值,递增追问
那样太麻烦了,可不可这样:
INSERT INTO students VALUES (列举数组array的全部值)?
我就是不知怎样列举数组array的全部值
如果数组就这么点的话,我这种算是简单的了,如果数组比较长的话,那就要采用自动生成的方式来弄
追问为简单起见,我举例的数组当然用短的,现在就是想用自动生成的方式,请问你知道吗?
追答function charu:boolean
var sql,s:string;
i:integer;
begin
sql:='insert into students (id,name,sex,age) values('+$array[0];
for i:= 1 to n do//n看你的数组有多少
begin
sql:=sql+','+@wjzl[i];
end;
sql:=sql+')';
with adoquery1 do
begin
close;
sql.clear;
sql.text:=sql;
execsql;
end;
end
第2个回答 2013-12-04
$subSql = "";
foreach( $array as $key => $val ){
$subSql .= ''.$val.''.',';
}
$subSql = substr( $subSql , 0 , -1 );
$sql = "INSERT INTO students VALUES ( ".$subSql.")";追问
foreach( $array as $key => $val ){
$subSql .= ''.$val.''.',';
}
$subSql = substr( $subSql , 0 , -1 );
$sql = "INSERT INTO students VALUES ( ".$subSql.")";追问
我采纳其他答案为最佳答案,不过你的回答也很好,我想给些分你,不知如何给?