Php mysql_num_行不工作

Php mysql_num_行不工作,php,mysql,for-loop,mysql-num-rows,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){ wh

我知道了

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";
    }
}
当我有日航的时候,我会得到以下信息?在文本文件中(您将在其中看到1)

当我没有日航的时候?(没有1)

我甚至试过

if ( intval(mysql_num_rows($r8)) == 1){
没有运气

不管怎样,jalfd的终值为N/A

根据您的逻辑,循环结束后的
$jalfd
值仅取决于第300次循环迭代。在每次迭代中,您都会覆盖它。如果第300次迭代导致行不是
1
,则无论前面的值是什么,都将得到
$jalfd=“N/A”

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

$jalfd = "N/A";

在循环开始之前,完全删除
else
部分。然后就不需要了。

两个输出有什么区别?不要使用mysql,而是使用mysqli或PDO,mysql已经不推荐使用,可能会在下一个版本中被删除。如果没有,我可以看到一个“1”。我抄错了东西。我编辑了这篇博文谢谢,它成功了。我之所以使用循环,是因为我上传的文件在行数上各不相同。
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
if ( intval(mysql_num_rows($r8)) == 1){
$jalfd = "N/A";