php for语句只能工作一次

时间:2014-09-10 17:14:36

标签: php jquery ajax for-loop while-loop

这是我的问题,

我有一个PHP FOR语句,无论我做什么,它只会通过它...我检查我的vars进入它,并写它们以确保......一切似乎都好......但它永远不会工作...

这里是代码($ user用我的session var初始化):

for($i=0;$i<=($size);$i++){
    $test = $db->prepare("INSERT INTO `test`(`val`) VALUES ('IN!!')");
    $test->execute();
    $name = '';
    if($i==0){
        $name = $db->quote("test");
    }else{
        $name = $db->quote("number $i");
    }
    $number = $db->quote($i);
    //insert
    $query = "INSERT INTO `test`(`name`,`number`) VALUES ($name,$number)";
    $insert = $db->prepare($query);
    if($insert->execute()){
        $id = '';
        $get = $db->prepare("SELECT last_insert_id();");
        $get->execute();
        foreach($get as $myId){
            $id = $myId[0];
        }
        if(!(isRel($db,$user))){
            if(!(setIsRel($db,$user,1))){
                $error = false;
            }
        }
        if(!(hasRel($db,$etabId))){
            if(!(setHasRel($db,$id,1))){
                $error = false;
            }
        }
        if(!(buildRelationShip($db,$id,'2'))){
            $error = false;
        }
        if(!(buildRelationShip($db,$id,'3'))){
            $error = false;
        }

    }else{
        $error = false;
    }
    $check1 = '';
    $check2 = '';
    $check3 = '';
    $check4 = '';
    if(is_numeric($size)){
        $check1 = "OK";
    }
    if($i<=$size){
        $check2 = "OK";
    }
    $test = $db->prepare("INSERT INTO `test`(`val`) VALUES ('SIZE IS NUMERIC? $check1 -- I SMALLER? $check2')");
    $test->execute();
}

答案是:

IN!! SIZE IS NUMERIC? OK -- I SMALLER? OK

我哪里错了......?

Thanx寻求帮助!

(这个PHP代码是从.ajax请求-jquery调用的 - 但我不认为它与之有关,因为我已经用这个做了类似的东西......)

SIZE var总是设置为2或3,永远不会少!已经检查过了

编辑:

那么,

这是FOR语句之前的代码:

function createStages($db,$user,$size){
    $error = true;
    $size= intval($size);

我不会帮助它。

1 个答案:

答案 0 :(得分:1)

听起来你的类型转换搞砸了。删除$ size = intval($ size),并用$ i&lt; =(int)$ size替换for循环中的条件。