如何获取和比较PHP / MySQL中的行值?

时间:2014-04-10 13:20:31

标签: php mysql database

我想知道我需要使用哪些代码来获取行中的值(这自然会有来自不同列的数据)

我想检查IP地址是否与轮询ID相同。正如您所期望的那样,IP地址存储在一列中,而轮询ID存储在下一列中。

  $q = mysql_query("SELECT * FROM logs");

  while($row = mysql_fetch_array($q))
  {
      if(($ip = $_SERVER['REMOTE_ADDR']) == $row['ip'])
      {
         $duplicateIP = true;
       }//end if

      if(($row['poll_id'] == 1))
      {
         $duplicatePoll = true;
       }//end if
   }//end while

我意识到这段代码不起作用,因为只要它等于1,它就会返回轮询ID为真。如果轮询ID与IP地址匹配,我怎样才能确保它只返回true ?感谢。

1 个答案:

答案 0 :(得分:1)

而不是:

if(($ip = $_SERVER['REMOTE_ADDR']) == $row['ip'])
{
    $duplicateIP = true;
}//end if

if(($row['poll_id'] == 1))
{
    $duplicatePoll = true;
}//end if

你应该写:

if($_SERVER['REMOTE_ADDR'] == $row['ip'] && $row['poll_id'] == 1){

    $duplicateIP = true;

}//end if

或者更改您的查询:

$q = mysql_query(
    "SELECT * FROM logs WHERE ip = '".$_SERVER['REMOTE_ADDR'] .
    "' and poll_id = '".$iPollid."' "
);