Как проверить col перед вставкой значений в Sql?

#mysql

#mysql

Вопрос:

Здравствуйте, это мой первый вопрос здесь, я новичок в php / mysql , я создаю некоторые функции для возврата/добавления значений в таблицу.

У меня есть таблица под названием combo_votes , я буду использовать ее для хранения оценок пользователей, проголосовавших за мою другую таблицу: combos .

Логика заключается в том, что когда пользователь отправляет рейтинг , он берет фактический combo_id (внутри combos , он уже есть), берет электронную почту пользователя и сравнивает ее внутри combo_votes . Если не существует, то вставьте новую запись в таблицу для подсчета нового голоса.

Я искал и нашел это 2 способами:

 INSERT INTO `combo_votes` (`combo_id`, `user_name`, `user_email`, `user_photo`,`user_ip`, `is_true`) values ($comboId, $userName, $userEmail, $userPhoto, $userIp, $isTrue) ON DUPLICATE KEY UPDATE `is_true` = $vote_value_true_or_false;   update combo_votes set is_true=`$isTrue` where combo_id=$comboId and user_email=$userEmail IF @@ROWCOUNT=0  insert into combo_votes(is_true, combo_id, user_name, user_email, user_photo, user_ip) values(`$isTrue` , `$comboId` , `$userName` , `$userEmail` , `$userPhoto` ,`$userIp`);  

Эти 2 способа со мной не работают! Я использую phpMyAdmin на общем хосте;

НЕКОТОРЫЕ КОДЫ :

 //save post $combos-gt;saveCombo($userName, $userEmail, $userPhoto, $userIp, $comboWeapon, $comboInputs, $comboDifficulty, $comboDescription, $comboTrue, $comboStatus, $comboVideo);  // get last id inserted post lt; this return the last ID inserted BY THE USER RIGHT?? I think y... $comboId = mysqli_insert_id($connection-gt;getConn());  // add a new vote entry, for who post the combo with id . $combos-gt;updateComboVotes($comboId, $userName, $userEmail, $userPhoto, $userIp, $comboDifficulty, $comboTrue);  // user saves a post (game combo) on db public function saveCombo($userName, $userEmail, $userPhoto, $userIp, $comboWeapon, $comboInputs, $comboDifficulty, $comboDescription, $comboTrue, $comboStatus, $comboVideo)  {  $sql = "INSERT INTO combos (user_name, user_email, user_photo, user_ip, combo_weapon, combo_inputs, combo_description, combo_status, combo_video)  VALUES ('$userName', '$userEmail', '$userPhoto', '$userIp', '$comboWeapon', '$comboInputs', '$comboDescription', '$comboStatus', '$comboVideo')";  $this-gt;db-gt;insertQuery($sql);   return true;  }   // i execute this for add a entry on combo_votes for who posted the combo public function updateComboVotes($comboId, $userName, $userEmail, $userPhoto, $userIp, $comboDifficulty, $comboTrue)  {  $sql = "INSERT INTO combo_votes (combo_id, user_name, user_email, user_photo, user_ip, is_true, combo_difficulty)  VALUES ('$comboId', '$userName', '$userEmail', '$userPhoto', '$userIp', '$comboTrue', '$comboDifficulty')";  $this-gt;db-gt;insertQuery($sql);   return true;  }