if выражение в запросе базы данных

Часть скрипта голосования, над которым я работаю: я проверяю пользовательскую таблицу в моей базе данных WP, чтобы узнать, проголосовал ли пользователь за сообщение, проверив IP-адрес и идентификатор сообщения.

Если IP-адрес пользователя уже существует для поста, который они проголосовали, я хочу повторить «Уже проголосовали!». иначе добавьте IP. Это то, что я придумал.

global $wpdb; $voter_ip = $_SERVER['REMOTE_ADDR']; $post_id = $_POST['post_id']; if (!($wpdb->get_row("SELECT voter_ip FROM wp_voter_ips WHERE post_id = $post_id AND voter_ip = $voter_ip") ) ) { //if IP address for matching post id not found in wp_voter_ips table $wpdb->insert( $wpdb->prefix . 'voter_ips', array( 'post_id' => $post_id, 'voter_ip' => $voter_ip ) ); //add IP and post_id echo "voted!"; } else //if IP already exists { echo "Already voted!"; } 

Я проверял тройку, чтобы убедиться, что имена переменных и столбцов верны. Независимо от утверждения if, он вставляет IP-адрес избирателей, даже если он уже существует.

Solutions Collecting From Web of "if выражение в запросе базы данных"