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

标签 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”

最佳答案

IP 地址的开头或结尾可能有空格(或其他字符)。尝试使用 like 和通配符:

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

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

关于php - 使用 PHP SQL 在数据库中查找特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27258088/

相关文章:

mysql - 使用golang在mysql中创建数据库

mysql - SQL继承性能

php - mysql group by column 指定别名时出错

php - Javascript 警报返回值/事件

MySQL Count all 和 Count distinct 超过 2 列相同的查询

mysql - 当同时使用 >= 和 <= 时如何索引 MySQL 表?

SQL字符替换功能扩展

MySql查询语法错误DATE_SUB

php - laravel 在表名中添加空格

php - 使用 PHP/JS 设置选项