简单 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 个查询中的这个特定查询不会检索其数据?
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()
。
对象的文档在这里:
我有这个 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 个查询中的这个特定查询不会检索其数据?
Returns
FALSE
on failure. For successfulSELECT
,SHOW
,DESCRIBE
orEXPLAIN
queriesmysqli_query()
will return amysqli_result
object. For other successful queriesmysqli_query()
will returnTRUE
.
您可以使用
获取您的电子邮件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()
。
对象的文档在这里: