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.
精彩评论