Я хочу показать пользователю, понравилось ли ему изображение или нет .. для этого я создаю php-код
$userid=$_COOKIE['userid']; $sql = "SELECT * FROM likes WHERE `user_id`='{$userid}'"; $query = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($query); if($row){ echo "unlike"; } else{ echo "like"; }
Я не могу сделать это для всего, как «теги», «акции», «комментарии», «избранное» … много. Нет ничего проще, чем это …? Например, $row_check=mysqli_check_exist($table,$column_name,$userid);
Есть много способов сделать это на самом деле, но если вы собираетесь использовать какую-либо дополнительную информацию, тогда мы или нет, пользователю понравилось, что делать select * – это плохая идея. Причина в том, что вы просите базу данных вернуть значение каждого столбца в этой таблице.
Предполагая, что его небольшая база данных, вероятно, не проблема, но по мере увеличения вашей базы данных вы загружаете больше нагрузки, тогда вам нужно попробовать и выбрать только нужные столбцы и использовать их. Хорошо, в этом случае идентификатор пользователя, вероятно, проиндексирован и имеет только одну строку, но если вы привыкнете делать это здесь, вы можете сделать это еще и там, где.
попробуйте это вместо этого.
$userid=$_COOKIE['userid']; $sql = "SELECT count(user_id) as total FROM likes WHERE `user_id`='{$userid}'"; $query = mysqli_query($conn, $sql); $row = mysqli_fetch_assoc($query); if( $row ['total'] > 0){ echo "unlike"; } else{ echo "like"; }
Таким образом, мы просто получаем общее количество. простой и элегантный
использовать метод строки mysql fetch
$num_row = mysqli_num_rows($query); if($num_row>0) { //add your code } else { //add your code }
Используйте mysqli_num_rows ($ query), если> 0
Вам просто нужно подсчитать доступные записи, используя
mysqli_num_rows($query);
Это вернет число (количество) доступных записей
Так просто поставить чек, как это:
$userid=$_COOKIE['userid']; $sql = "SELECT * FROM likes WHERE `user_id`='{$userid}'"; $query = mysqli_query($conn, $sql); $count = mysqli_num_rows($query); if($count>0){ echo "unlike"; } else{ echo "like"; }