我有一个名为 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/