Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中用于查询的嵌套foreach循环_Php_Sql_Foreach_Nested Loops - Fatal编程技术网

php中用于查询的嵌套foreach循环

php中用于查询的嵌套foreach循环,php,sql,foreach,nested-loops,Php,Sql,Foreach,Nested Loops,我试图在我的数据库中插入数据。应该是这样的-- 现在它插入了类似这样的内容-- 我绕着它转了很久了。请让我知道是否有人能解释这件事。这是我的密码-- 您需要3个foreach循环:1个用于$adata,1个用于$sdata,1个用于$qdata $sql='insert into assignment_answers (a_id, s_id, q_id) values (:aid, :sid, :qid)'; $command1=$connecti

我试图在我的数据库中插入数据。应该是这样的--

现在它插入了类似这样的内容--

我绕着它转了很久了。请让我知道是否有人能解释这件事。这是我的密码--


您需要3个foreach循环:1个用于$adata,1个用于$sdata,1个用于$qdata

$sql='insert into assignment_answers
            (a_id, s_id, q_id)
            values (:aid, :sid, :qid)';
$command1=$connection->createCommand($sql);
foreach($adata as $ad)
{
    foreach($sdata as $sd)
    {
        foreach($qdata as $qd)
        {
            $command1->bindParam(":aid",$ad->id,PDO::PARAM_STR);
            $command1->bindParam(":sid",$sd->id,PDO::PARAM_STR);
            $command1->bindParam(":qid",$qd->id,PDO::PARAM_STR);
            $command1->execute();
        }
    }
}

我假设您也有一个$adata集,如$sdata和$qdata。

您在哪里以及如何定义$sid、$qid和$aid?$sid、$qid和$aid在哪里?@Aioros编辑了我的问题。就您的代码范围而言,这里没有可疑之处。(除了可怕的未验证的$GET var)$sdata和$qdata包含什么?在不知道它们包含什么的情况下无法调试。@Ambidex我编辑了我的问题,似乎$aid是由一个熟悉的$GET['aid']变量设置的。啊,是的,我错过了那个变量。
     a_id=1 s_id=1 q_id=null
     a_id=1 s_id=2 q_id=null
     a_id=1 s_id=1 q_id=1
     a_id=1 s_id=1 q_id=2
     a_id=1 s_id=2 q_id=1
     a_id=1 s_id=2 q_id=2
    $aid=$_GET['id'];
    $sdata=XYZ::model()->findAll('a_id=:aid',array(':aid'=>$id));
    $qdata=ABC::model()->findAll('a_id=:aid',array(':aid'=>$id));
    $sql='insert into assignment_answers
                (a_id, s_id, q_id)
                values (:aid, :sid, :qid)';
            $command1=$connection->createCommand($sql);
            foreach($sdata as $sd)
            {
                foreach($qdata as $qd)
                {
                    $sid=$sd->id;
                    $command1->bindParam(":sid",$sid,PDO::PARAM_STR);
                    $qid=$qd->id;
                    $command1->bindParam(":qid",$qid,PDO::PARAM_STR);
                    $command1->bindParam(":aid",$aid,PDO::PARAM_STR);
                    $command1->execute();
                }
            }
$sql='insert into assignment_answers
            (a_id, s_id, q_id)
            values (:aid, :sid, :qid)';
$command1=$connection->createCommand($sql);
foreach($adata as $ad)
{
    foreach($sdata as $sd)
    {
        foreach($qdata as $qd)
        {
            $command1->bindParam(":aid",$ad->id,PDO::PARAM_STR);
            $command1->bindParam(":sid",$sd->id,PDO::PARAM_STR);
            $command1->bindParam(":qid",$qd->id,PDO::PARAM_STR);
            $command1->execute();
        }
    }
}