一个关于数组循环提交到数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:18:37
一个关于数组循环提交到数据库的问题
这是一个关于用数组提交到数据库的问题,我每次提交后查看数据库发现在都只有最后一组数组的数据,是不是最后一组数据把前面的数据给复盖了.代码如下.大家讨论一下.
例如:表单数据为$tla="我`你`他" $tl="我`你`他" $tlr="我`你`他" 的时候.最后数据库的数据只有 他,他,他
$answer = explode("`",$tla);
$questions = explode("`",$tl);
$remarks = explode("`",$tlr);
$r1 = count ($questions);
$r2 = count ($answer);
if($r1==$r2)
{
for($i=0;$i<$r1;$i++)
{

$dsql->SetQuery("INSERT INTO `{$cts['addtable']}`(aid,typeid,pid,model,questions,answer,remarks) Values('$arcID','$typeid','$i','$i','$questions[$i]','$answer[$i]','$remarks[$i]')");

}
}

if(!$dsql->ExecuteNoneQuery()){
$gerr = $dsql->GetError();
$dsql->ExecuteNoneQuery("Delete From {$cts['maintable']} where ID='$arcID'");
$dsql->ExecuteNoneQuery(&qu

是的,你的程序只添加了最后一条,因为你的循环里面做了许多的$dsql->SetQuery(),但是只在循环结束以后执行一次$dsql->ExecuteNoneQuery(),也就是只执行最后一次添加。

现在已经知道怎么修改了吧:把if(!$dsql->ExecuteNoneQuery()){ ... }这一个大的if语句放在$dsql->SetQuery()语句的后面。