开发者

test indefinite amount of boolean for if statement

I have a for statement that runs a few mysql querys but they wont always be the same number of querys like this:

for($i=0;$i<count($phones);$i++){
    $results[$i] = mysql_query("[ACTUAL MYSQL QUERY]");
}

As you can see I put the result into an array, and I want to make sur开发者_C百科e all of the queries were successful using an if statement. How would I do that, I was thinking eval() but that doesn't seem reliable.


You can use array_filter to check the whole $result list at once, because mysql_query will return false for failed queries.

if (count($results) == count(array_filter($results))) {
    // all succeeded
}

(I believe you might however run into problems if you keep too many concurrent query handles open; they consume some memory. So maybe you should rather do an immediate mysql_fetch_assoc in your loop, or just keep a boolean, then free the result handles.)


Before the for loop declare a boolean variable that has the value of true. Then as you loop through, if any of the values are false set the variable to false. The queries were all successful if the boolean variable is still true after the loop.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜