查询仅在使用php时返回一个结果,但在原始SQL上有效

时间:2012-02-14 17:22:53

标签: php mysql

我在这里死了:-)请帮忙! 以下查询根据当前时间从同一个表中获取不同用户的不同消息。

$message = mysql_query("SELECT * FROM `table` 
           WHERE `Scheduled` <= DATE_ADD(UTC_TIMESTAMP(), INTERVAL 1 MINUTE)  
           AND `Status` != 'published'");

/** Kill db connection and exit script if no results are found **/

if (mysql_num_rows($message)== 0) { 
  mysql_close($db) && exit();
}
else {                                  
  while ($row = mysql_fetch_array($message))
  {
    $msg = $row["Messages"];
    $accnt = $row["Account"];

    {
    if ($accnt == 'Account1')
      echo $msg.$accnt;
    elseif ($accnt == 'Account2')
      echo $msg.$accnt; 
    else
      echo "Nothing Here!";
    }
  }
}

这只是回复第一个帐户,请帮助我头疼。我直接在db上运行它,它工作正常。我相信我搞砸了php

2 个答案:

答案 0 :(得分:0)

我认为你得到非关联数组。如果你想结合。数组,你必须改变它:

while ($row = mysql_fetch_array($message))

while ($row = mysql_fetch_assoc($message))

答案 1 :(得分:0)

//you have made a drastic mistake in your code check now it will work

if (mysql_num_rows($message)== 0) { 
  mysql_close($db) && exit();
}
else {                                  
  while ($row = mysql_fetch_array($message))
  {
    $msg = $row["Messages"];
    $accnt = $row["Account"];
    if ($accnt == 'Account1')
      echo $msg.$accnt;
    elseif ($accnt == 'Account2')
      echo $msg.$accnt; 
    else
      echo "Nothing Here!";
    }
  }