Почему мой count () возвращает 1, когда он пуст?

Попытка вернуть информацию из базы данных (которая пуста). Оно продолжает возвращать значение 1, однако оно должно быть 0. База данных пуста, но возвращает «Я существую».

       <?php

set_time_limit(0);

$db = new mysqli("localhost","wwwrhino_Twitch","","wwwrhino_Twitch");

if($db->connect_errno) {
echo $db->connect_error;
die('Sorry, We are having some problems');
}$offset = 0;
$count = 1;

do {
$Brad = json_decode(file_get_contents(
'https://api.twitch.tv/kraken/channels/greatbritishbg/follows?limit=25&offset='  . $offset
));
$Darren = json_decode(file_get_contents(
'https://api.twitch.tv/kraken/channels/Skairpigg/follows?limit=25&offset='  . $offset
));foreach($Brad->follows as $Bradfollow) {
$username = (string)$Bradfollow->user->name;
//$result = $db->query("SELECT count(Username) FROM `Users` WHERE `Username` ='$username' ");
$result = $db->query("SELECT count(Username) AS total_users FROM `Users` WHERE `Username` ='$username' ");
if ($result->total_users > 0) {
echo 'I Exist!: '. (int)$result . ": " . $username . "<br>";
var_dump($result);
}
else {
echo 'Add me';
echo "<p>Inserting Value:". $username ."</p>";
echo "Var Dump:" . var_dump($result);
if($insert = $db->query("INSERT INTO Users (Username, Minecraft_Name)
VALUES ('$username', 'Garrett')
")) {
echo $db->affected_rows . "<br>";
}
}
$offset+=25;
} while (!empty($Brad->follows));
?>

Вот моя база данных:

введите описание изображения здесь

Может кто-нибудь объяснить, почему результат постоянно возвращается как «1»

Спасибо

-1

Решение

вы используете mysqli и правильный путь —

$res = $mysqli->query("SELECT id FROM test ORDER BY id ASC");

echo "Reverse order...\n";
for ($row_no = $res->num_rows - 1; $row_no >= 0; $row_no--) {
$res->data_seek($row_no);
$row = $res->fetch_assoc();
echo " id = " . $row['id'] . "\n";
}

ссылка — phpmanual

попробуйте с —

$result = $db->query("SELECT count(Username) AS total_users FROM `Users` WHERE `Username` ='$username' ");
$row = $result->fetch_assoc();

и чтобы убедиться, что вы можете попытаться dump $row и посмотрим, что он возвращается. затем проверьте с надлежащим index

if ($row['total_users'] > 0) {
//your code
}

вы только выполняли запрос, который возвращал true или же 1 всегда. Вы должны получить данные также из ресурса.

1

Другие решения

Сделай это:

$result = $db->query("SELECT count(Username) as cnt FROM `Users` WHERE `Username` ='$username' ");
$row = $result->result();
if ($row->cnt > 0) {
echo 'I Exist!: '. (int)$result . ": " . $username . "<br>";
}

Ссылка.

0

По вопросам рекламы [email protected]