我想知道我需要使用哪些代码来获取行中的值(这自然会有来自不同列的数据)
我想检查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 ?感谢。
答案 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."' "
);