doumeng3345 2011-08-28 00:55
浏览 53
已采纳

测试if语句的无限量布尔值

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 sure 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.

  • 写回答

2条回答 默认 最新

  • drvpvmz16241016 2011-08-28 00:59
    关注

    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.)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?