mysql_num_rows没有工作的那种

时间:2014-05-28 08:42:35

标签: php mysql for-loop mysql-num-rows

我得到了这个

for($i = 1; $i < 301; $i++)
{
    $r8 = mysql_query("SELECT * FROM full_dump WHERE id_fd='".$last_id."' AND field_".$i." LIKE '%JAL?%' order by field_".$i." desc limit 0,1")or die(mysql_error());
    if ( mysql_num_rows($r8) == 1){
        while($row = mysql_fetch_array($r8))
        {
            $i4 = $i+1;
            $jalfd = trim($row['field_'.$i4.'']);
        }
    }
    else {
        $jalfd = "N/A";
    }
}

它是pile_upload脚本的一部分。所有的工作,但不是这个。 当我上传文件时,它可能包含也可能不包含单词JAL?并且下一行有它的价值。无论如何,jalfd的最终值是N / A.当我做的时候

echo mysql_num_rows($r8);

当我有JAL时,我得到以下内容?在文本文件中(你会在那里看到1)

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

当我没有JAL时? (没有1)

000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

我甚至尝试过

if ( intval(mysql_num_rows($r8)) == 1){

没有运气。

1 个答案:

答案 0 :(得分:0)

  

无论如何,jalfd的结束值是N / A

使用您的逻辑,循环结束后$jalfd的值仅取决于您的第300次循环迭代。在每次迭代中,您都会覆盖它。如果您的第300次迭代导致行不是1,那么无论之前的值是什么,您都会获得$jalfd="N/A"

使用您的设计本身的简单修复方法是初始化值

$jalfd = "N/A";
在循环开始之前

,并完全删除else部分。那时候不需要它。