Подсчитайте повторяющиеся строки таблицы и продолжите расчет - PullRequest
0 голосов
/ 03 января 2019

У меня есть следующая таблица в базе данных mysql

database name = roulette

id | number | user

1 | 18 | John
2 | 14 | Administrator
3 | 14 | Administrator
4 | 19 | Administrator
5 | 17 | Administrator

Теперь я хотел бы продолжить в следующем состоянии:

Система должна учитывать только номера «Администратора»«Пользователь и продолжить вычисление, если есть хотя бы один дубликат.

Так что в моем примере число 14 повторяется как минимум 2 раза, и нам придется продолжить.

Я незнать, как получить этот номер из запроса.Я попробовал следующий код, но он не работает:

$connectiondb = mysqli_connect($servername, $username, $password, $dbname);
$duplicates = mysqli_query($connectiondb, "SELECT number, COUNT(*) as count
FROM roulette
GROUP BY number
HAVING COUNT(*) > 0");

if(mysqli_num_rows($duplicates) > 0){
        echo "There is at least one duplicate number for the selected user. We proceed.";
}

Плюс с этим запросом я также получаю ошибку:

PHP Исправимая фатальная ошибка: объект класса mysqli_result не можетпреобразовать в строку

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Проблема решена. Если в столбце присутствуют следующие цифры: 13 13 14 14 15 числа 13 и 14 повторяются как минимум дважды.

$duplicate = mysqli_query($connectiondb, "SELECT id, COUNT(number) FROM roulette WHERE user = '$user' GROUP BY number HAVING COUNT(number) > 1");

echo  "Duplicate in this table: ".mysqli_num_rows($duplicate)."<br>";
0 голосов
/ 03 января 2019

попробуйте использовать count (*) в вашем запросе и следующую команду для доступа к вашему набору результатов:

while ($row = $result->fetch_assoc()) {
    echo $row['classtype']."<br>";
}

mysqli_query возвращает ресурс объекта в вашу переменную, а не строку.обратитесь: Объект класса mysqli_result не может быть преобразован в строку в

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...