Я хочу проверить, существует ли результат ($ name) в базе данных с помощью функции RETURN

Я хочу проверить, если result($name) уже существует в базе данных с помощью функции возврата. ($name) уже существует, я не хочу добавлять его в базу данных еще раз.

Сейчас этот запрос ничего не возвращает, но продолжает добавлять то же ($name) в базу данных, которую я не хочу.

Как мне это сделать?

function category_exists($name){
$name = mysqli_real_escape_string(connect(),$name);

$query = mysqli_query(connect(),"SELECT COUNT(1) FROM `categories` WHERE `name`='{$name}'");

return mysqli_num_rows($query);
}

-1

Решение

Запрос SELECT COUNT(1) FROM categories WHERE name='{$name}'" всегда возвращает набор результатов с одной строкой. Эта строка имеет только один столбец и имеет значение «0», если такой категории нет или она возвращает количество строк, удовлетворяющих условию. Но в любом случае, результат всегда имеет одну строку. Это означает, что mysqli_num_rows() вернусь 1 в любом случае.

Вы должны прочитать результат запроса, который вы отправляете с обычным mysqli_fetch_assoc() функции.

0

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

Других решений пока нет …

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