这是我的问题,
我有一个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);
我不会帮助它。
答案 0 :(得分:1)
听起来你的类型转换搞砸了。删除$ size = intval($ size),并用$ i&lt; =(int)$ size替换for循环中的条件。