Php 如果值等于/不等于列中的任何值,如何使用

Php 如果值等于/不等于列中的任何值,如何使用,php,mysql,mysqli,Php,Mysql,Mysqli,所以我有一张桌子: 下面是代码:` mysqli_query($con,"INSERT INTO ip_check (ip_check_address, ip_check_id) VALUES ($encode , $id)"); $ip = $_SERVER['REMOTE_ADDR']; $encode = ip2long($ip); $id = htmlspecialchars($_GET["keywordid"]); $check_id = mysqli_query($con,"SEL

所以我有一张桌子:

下面是代码:`

mysqli_query($con,"INSERT INTO ip_check (ip_check_address, ip_check_id) VALUES ($encode , $id)");
$ip = $_SERVER['REMOTE_ADDR'];
$encode = ip2long($ip);
$id = htmlspecialchars($_GET["keywordid"]);
$check_id = mysqli_query($con,"SELECT ip_check_id FROM ip_check 
WHERE ip_check_address = $encode");
if ($check_id != $id ) {..}
`

我需要检查ip检查id是否已被使用。

编辑:

    mysqli_query($con,"INSERT INTO ip_check (ip_check_address, ip_check_id) 
    VALUES ($encode , $id)");

    $ip = $_SERVER['REMOTE_ADDR'];
    $encode = ip2long($ip);
    $id = htmlspecialchars($_GET["keywordid"]);
    $check_id = mysqli_query($con,"SELECT ip_check_id FROM ip_check 
    WHERE ip_check_address = $encode");
    $query = @mysqli_query($check_id);


    while($row = @mysqli_fetch_array())
    {
         $check_id = $row['ip_check_id'];

         if ($check_id== $id ) 
        {

            //here it is equal, returns ture
        }
        else
        {
        // here returns false
        }
    }
$check_id = mysqli_query($con,"SELECT ip_check_id FROM ip_check 
WHERE ip_check_address = $encode");

while($row = mysqli_fetch_array($check_id))
    {
         $check_if_exist = $row['ip_check_id'];

         if ($check_if_exist != $id ) 
        {

            // it does not equal
        }


    }

最初的回答,我误解了这个问题

“我需要检查ip\u检查id是否已被使用。”


旁注:

$check_id = mysqli_query($con,"SELECT ip_check_id FROM ip_check 
WHERE ip_check_address = $encode");

while($row = mysqli_fetch_array($check_id))
    {
         $check_if_exist = $row['ip_check_id'];

         if ($check_if_exist != $id ) 
        {

            // it does not equal
        }


    }
您当前的代码对开放。

使用,或。

如果这是检查的唯一标识符,则在字段上设置唯一约束和/或将其设置为自动递增值。或者,首先从表中进行选择,查看您要插入的id是否已经存在。那么如何检查值是否等于列中的任何值呢?现在如果($check\u id!=$id)为TRUE,其中$id为8。“我需要检查ip\u check\u id是否已被使用。”-您可以使用-另外,您需要引用您的ip值
其中ip\u check\u address='$encode'");因为IP地址包含句点/点。mysqli_num_rows只计算列中有多少行。我需要检查$id是否等于列中的任何值。$encode用于对ip进行编码address@Art4k好啊让我编辑我的答案。给我一分钟。不工作:(if($check\u id!=$id)是真的,if($check\u id==$id)是假的:/就像if(8!=8)是真的,if(9==8)FALSE.-1您将MySQL API与
MySQL\u query
MySQL\u fetch\u array
混合在一起-它们不会混合在一起。谁首先对此进行了投票?我编辑了您的答案并删除了我的-1。请记住
MySQL\u
mysqli\u
函数不会混合在一起。抱歉,我没有注意到我在mysqli中,只是试图给出作为一个可行的想法,我们没有将重点放在提供准确的代码上,因为您可能只看到了方法警告:mysqli_fetch_array()至少需要1个参数,0在第25行给出:$while($row=mysqli_fetch_array())@Art4k我忘记了查询参数变量,为了防止冲突,我重命名了一些变量。请重新加载。仍然存在相同的问题:/print\r($check\u,如果存在);只给出与$id=htmlspecialchars($\u GET[“keywordid”])相同的值;我认为问题可能在于主要用于查看目的而非可能的SQL预防的
htmlspecialchars
,这就是您想要使用
htmlspecialchars
的原因?@Art4k尝试删除它
$id=$\u GET[“keywordid”];
$id=htmlspecialchars($\u GET[“keywordid”]);SQL工作良好(已测试),我需要检查$id是否已经在ip\u check\u id列(见上图)中,就像用户来到page.php?id=2,$id为2(因为$\u GET[“keywordid”])。然后sql检查是否没有具有相同id的ip,并将其计为唯一访问者。