Поэтому я искал онлайн о том, как найти способ преобразования результата подсчета запросов MySQL в целое число, которое я мог бы назначить как переменную php, я нашел несколько разных ссылок и прочитал несколько документов. Ни один из них, похоже, не охватывает именно то, что я хочу. Например:
//code for connecting to database
$query = "SELECT COUNT(*) FROM 'user_table' WHERE 'username' = 'John12'";
$result = mysql_query($query);
if(!$result) die($db->error);
Теперь код выше после запуска запроса должен возвращать 1, в случае, когда поле имени пользователя уникально, и будет только один экземпляр этого результата запроса. Другой пример:
//code for connecting to database
$query = "SELECT COUNT(*) FROM 'user_table' WHERE 'username' = 'John12' AND 'username' = 'Paula25'";
$result = mysql_query($query);
if(!$result) die($db->error);
Теперь приведенный выше код после запуска запроса должен вернуть 2. У меня возникли проблемы с назначением результата переменной php. Он всегда говорит что-то о невозможности конвертировать mysql_result в int. Я тоже видел много форумов, и никто из них мне не помог. Я нашел онлайн, что MariaDB возвращает тип BIGINT для запроса count. Я хотел бы иметь возможность сделать что-то вроде этого:
$count = $result->result;
if($count < 2) {
// do this if true
} else {
// do this
}
Вы можете использовать mysql_fetch_row
:
//code for connecting to database
$query = "SELECT COUNT(*) FROM 'user_table' WHERE 'username' = 'John12' OR 'username' = 'Paula25'";
$result = mysql_query($query);
if(!$result) die($db->error);
$row = mysql_fetch_row($result);
$count = $row[0];
if($count < 2) {
// do this if true
} else {
// do this
}
Поскольку @mith упоминается в комментарии, если вы только начинаете свой проект, лучше используйте mysqli, чем mysql. Прочтите: MySQL против MySQLi при использовании PHP
вы должны получить возвращаемое значение с помощью $ result [count()], потому что вы выбираете имя столбца как count().
или вы можете использовать псевдоним типа
$ query = "SELECT COUNT (*) AS count...
затем
$ result = mysql_query ($ query); $ result ['count'] = ваше значение //2
если вы не хотите использовать псевдоним
$ result ['COUNT (*)'] = ваше значение //2
поэтому вам нужно сделать что-то подобное в вашем случае
if($result['COUNT(*)'] < 2) {
// do this if true
} else {
// do this
}
или же
$ count = $ result ['COUNT (*)'];
if($count < 2) {
// do this if true
} else {
// do this
}
mysql_*
username
= 'John12' Иusername
= 'Paula25' перенастраивает 2, что было бы изящным фокусом?