Как проверить, существует ли строка, содержащая определенный контент в MySQL

Я использую приведенный ниже код для вставки оценок для определенных песен в моем приложении.

Я записываю идентификатор песни, рейтинг, присвоенный песне, и идентификатор пользователя, проголосовавшего за эту песню.

Я хочу запретить пользователям голосовать, если они «уже» проголосовали за конкретную песню. Поэтому мне нужно иметь возможность проверить, существует ли строка в таблице перед вставкой.

Итак ... Если userID = 1, songID = 1 и рейтинг = 4. Это должно быть вставлено нормально.

Если впоследствии будет сделана попытка вставки для userID = 1, songID = 1, rating = *, она не должна будет вставляться

Однако, если пользователь голосует за другую песню ... это должно быть разрешено и прошивка должна произойти.

Есть идеи, как мне это сделать?

//Add rating to database

if(!empty($_POST['rating']) && isset($_POST))
{
    //make variables safe to insert
  $rating = mysql_real_escape_string($_POST['rating']);
  $songid = mysql_real_escape_string($_POST['song_id']);

    //query to insert data into table
    $sql = "
        INSERT INTO wp_song_ratings
        SET
        songid = '$songid',
        rating = '$rating',
        userid = '$user_id'";
    $result = mysql_query($sql);
    if(!$result)
    {
        echo "Failed to insert record";
    }
    else
    {
        echo "Record inserted successfully";
    }
}
0
задан Wouter Dorgelo 28 November 2011 в 18:00
поделиться