//添加数据
function inserttable($tablename, $insertsqlarr, $returnid=0, $replace = false, $silent=0) {
global $_SGLOBAL;
$insertkeysql = $insertvaluesql = $comma = '';
foreach ($insertsqlarr as $insert_key => $insert_value) {
$insertkeysql .= $comma.'`'.$insert_key.'`';
$insertvaluesql .= $comma.'\''.$insert_value.'\'';
$comma = ', ';
}
$method = $replace?'REPLACE':'INSERT';
$_SGLOBAL['db']->query($method.' INTO '.tname($tablename).' ('.$insertkeysql.') VALUES ('.$insertvaluesql.') ', $silent?'SILENT':'');
if($returnid && !$replace) {
return $_SGLOBAL['db']->insert_id();
}
}
这是我用PHP写的一个插入函数,能帮我改成coldfusion么$insertsqlarr是一个数组参数。明天我再加100分
------最佳解决方案--------------------
没经过测试。
<cffunction name="inserttable">
<cfargument name="tablename">
<cfargument name="insertsqlarr" type="array">
<cfargument name="returnid" default="0">
<cfargument name="replace" default="0">
<cfargument name="silent" default="0">
<cfset var insertkeysql = "">
<cfset var insertvaluesql = "">
<cfset var comma = "">
<cfloop from="1" to="#arraylen(insertsqlarr)#" index="l_key">
<cfset insertkeysql = insertkeysql & comma & '`' & a[l_key][1] & '`'>
<cfset insertvaluesql = insertvaluesql & comma & "'" & a[l_key][2] & "'">
<cfset comma = ", ">
</cfloop>
<cfset var method = iif(replace eq 1, de("REPLACE"), de("INSERT"))>;
<cfset var qry_run = "">
<cfquery name="qry_run" datasource="your data source">
#method# into #tablename# (#insertkeysql#) values (#preservesinglequotes(insertvaluesql)#)
<cfif returnid eq 1 and replace eq 0>
;
select max(id) as maxid from #tablename#
</cfif>
</cfquery>
<cfif returnid eq 1 and replace eq 0>
<cfreturn qry_run.maxid>
<cfelse>
<cfreturn "">
</cfif>
</cffunction>
------其他解决方案--------------------
不是很懂,我帮你问下同事。。。
------其他解决方案--------------------