PHP if else将检查ipaddress与表中存储的IP地址
我有一个快速的小民意测验和一个查询来检查IPaddress是否已经在表中,以了解是否有人已经投票。我已经创建了表,它可以工作了 我的问题是if-else语句,它不起作用。我正在努力做到这一点 如果ip地址在表中,则显示字符串 其他节目投票PHP if else将检查ipaddress与表中存储的IP地址,php,ip-address,Php,Ip Address,我有一个快速的小民意测验和一个查询来检查IPaddress是否已经在表中,以了解是否有人已经投票。我已经创建了表,它可以工作了 我的问题是if-else语句,它不起作用。我正在努力做到这一点 如果ip地址在表中,则显示字符串 其他节目投票 $ip=$_SERVER['REMOTE_ADDR']; include("../db/config.php"); include("../db/opendb.php"); $result = mysql_query("SELECT * FROM Poll
$ip=$_SERVER['REMOTE_ADDR'];
include("../db/config.php");
include("../db/opendb.php");
$result = mysql_query("SELECT * FROM Poll WHERE ip='$ip'");
if ($result==$ip) {
echo "Thank you for voting.";
} else {
echo "<form action=logvote.php method=post>" .
"<input type=radio name=ans value=ans1> Answer1<br>" .
"<input type=radio name=ans value=ans2> Answer2<br>" .
"<input type=radio name=ans value=ans3> Answer3<br>" .
"<input type=radio name=ans value=ans4> Answer4<br>" .
"<input type=submit value=Submit>";
echo "<input type=hidden name=ip value=";
echo "$ip>";
echo "</form>";
include("../db/closedb.php");
}
$ip=$\u服务器['REMOTE\u ADDR'];
包括(“../db/config.php”);
包括(“../db/opendb.php”);
$result=mysql_查询(“从轮询中选择*,其中ip='$ip');
如果($result==$ip){
回声:“谢谢你们的投票。”;
}否则{
“回声”。
“回答1
”。
“回答2
”。
“回答3
”。
“回答4
”。
"";
回声“;
回声“;
包括(“../db/closedb.php”);
}
提前谢谢。你只是忘了先取一行。此外,您还可以通过简单的计数获得必要的信息:
$result = mysql_query("SELECT COUNT(*) as 'count' FROM Poll WHERE ip='$ip'");
$row = mysql_fetch_assoc($result);
if ($row['count']) {
// show string
} else {
// show poll
}
你只是忘了先取一行。此外,您还可以通过简单的计数获得必要的信息:
$result = mysql_query("SELECT COUNT(*) as 'count' FROM Poll WHERE ip='$ip'");
$row = mysql_fetch_assoc($result);
if ($row['count']) {
// show string
} else {
// show poll
}
您的代码应该是:
$query = mysql_query("SELECT ip FROM Poll WHERE ip='$ip'");
$info = mysql_fetch_object($query);
$result = $info->ip;
if($result == $ip)
mysql_query()返回一个引用,而不是字符串
另外,在SELECT语句中使用ip将加快代码的速度。您的代码应该是:
$query = mysql_query("SELECT ip FROM Poll WHERE ip='$ip'");
$info = mysql_fetch_object($query);
$result = $info->ip;
if($result == $ip)
mysql_query()返回一个引用,而不是字符串
此外,在SELECT语句中使用ip将加快代码的速度。mysql\u查询不会直接返回数据,而是返回对结果的引用 您可以通过以下方式获取查询的行数: $num=mysql\u numrows($result) 因此,您可以通过以下方式进行检查:
$result = mysql_query("SELECT ip FROM Poll WHERE ip='$ip'");
if (mysql_numrows($result)) {
// dostuff
} else {
// do other stuff
}
// you can retrieve the ip like so:
$data = mysql_fetch_assoc($result);
$ip = $data['ip'];
mysql_查询不直接返回数据,而是返回对结果的引用 您可以通过以下方式获取查询的行数: $num=mysql\u numrows($result) 因此,您可以通过以下方式进行检查:
$result = mysql_query("SELECT ip FROM Poll WHERE ip='$ip'");
if (mysql_numrows($result)) {
// dostuff
} else {
// do other stuff
}
// you can retrieve the ip like so:
$data = mysql_fetch_assoc($result);
$ip = $data['ip'];
换句话说,mysql\u query返回一个结果句柄,而不是您选择的字段。换句话说,mysql\u query返回一个结果句柄,而不是您选择的字段。