Я хочу проверить, если 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);
}
Запрос SELECT COUNT(1) FROM categories WHERE name='{$name}'"
всегда возвращает набор результатов с одной строкой. Эта строка имеет только один столбец и имеет значение «0», если такой категории нет или она возвращает количество строк, удовлетворяющих условию. Но в любом случае, результат всегда имеет одну строку. Это означает, что mysqli_num_rows()
вернусь 1
в любом случае.
Вы должны прочитать результат запроса, который вы отправляете с обычным mysqli_fetch_assoc()
функции.
Других решений пока нет …