简单 MySQL 调用 select 特定键处的整数不起作用?

Simple MySQL call to select an integer at a specific key not working?

我有这个 PHP:

    <?php

    $client_ip = $_SERVER['REMOTE_ADDR'];
    $connection = new mysqli("localhost", "MyNotSoSecretUsername", "MySuperSecretPassword", "MyNotSoSecretDatabaseName");

    if ($connection->connect_error) {
         die("Connection failed: " . $Connection->connect_error);
    }

    $check_emails_sent_query = "SELECT `emails` FROM `email-ips` WHERE `ip`='11.111.111.111'";
    $check_emails_sent_result = $connection->query($check_emails_sent_query);

    echo $check_emails_sent_result;

    ?>

这是我网站上更大功能的一小部分。此代码段只是为了获取我的 table 的 "emails" 列(如果有区别的话,这是一个 int 列)的值,其中 IP 与客户端的 IP 匹配。

我在我的数据库中添加了一个 11.111.111.111 的虚假条目,并在 PHPmyAdmin 的 SQL 控制台上使用了完全相同的查询。我在 PHPmyAdmin 控制台上得到了一个结果,但这里没有任何回应。

我还检查了连接是否良好,如您在我的代码中所见。此外,我从我的函数的另一部分粘贴了另一个查询,它很好地检索了它的数据。

尽管可能很愚蠢或很明显,但我似乎无法弄清楚为什么近 20 个查询中的这个特定查询不会检索其数据?

mysqli_query()

Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.

您可以使用

获取您的电子邮件
if ($result = $connection->query($check_emails_sent_query)) {

    while ($row = $result->fetch_row()) {
        printf ("%s (%s)\n", $row[0]);
    }
}

Mysqli query() returns 和对象。使用对象:

<?php

$client_ip = $_SERVER['REMOTE_ADDR'];
$connection = new mysqli("localhost", "MyNotSoSecretUsername", "MySuperSecretPassword", "MyNotSoSecretDatabaseName");

if ($connection->connect_error) 
{
    die("Connection failed: " . $Connection->connect_error);
}

$check_emails_sent_query = "SELECT `emails` FROM `email-ips` WHERE `ip`='11.111.111.111'";

if ($check_emails_sent_result = $connection->query($check_emails_sent_query)) 
{ 
    while($obj = $check_emails_sent_result->fetch_object())
    { 
        $echo $obj->emails; 
    } 
} 

?>

您可以使用 fetch_row() 而不是 fetch_object()

对象的文档在这里:

http://php.net/manual/en/class.mysqli-result.php