在数据库中使用PHP SQL查找特定值

时间:2014-12-02 20:13:39

标签: php mysql sql select while-loop

我有一个名为IP的Mysql表,它在一个名为IP(也)的列中保存了一些行,如下所示:

82.161.217.164
82.161.217.164
82.161.217.163
82.161.217.164

我有一个代码来检索PHP中的行:

$sql = "SELECT IP FROM IP";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo $row["IP"]. "<br>";
    }
} else {
    echo "0 results";
}

到目前为止一直很好,但是当我尝试选择值为“82.161.217.163”的行的第一个匹配项时,我什么都没得到:

//nothing
$sql = "SELECT IP FROM IP WHERE IP='82.161.217.163'";

//nothing
$sql = "SELECT IP FROM IP WHERE 'IP=82.161.217.163'";

//no good
echo $row["IP"][0]. "<br>";

//no good
echo $row["IP"]["82.161.217.163"]. "<br>";

我尝试了很多其他的东西,但似乎没有给出结果“82.161.217.163”

1 个答案:

答案 0 :(得分:1)

也许ip地址在开头或结尾有空格(或其他字符)。尝试将like与通配符一起使用:

SELECT IP
FROM IP
WHERE IP LIKE '%82.161.217.163%'

注意:您可能会得到182.161.217.163,但这值得一试。