No! Devi fare un escape di ogni apice singolo che hai dentro una stringa delimitata da apici singoli.

Quindi deve diventare cosi:

$query = 'INSERT INTO concorso (email, name, surname) VALUES(' .
'\'' . $_POST['email'] . '\',' .
'\'' . $_POST['name'] . '\',' .
'\'' . $_POST['surname']. '\''.
')';

Superfluo dire che devi prima pulire qualsiasi input che ti arriva dall'utente (post, get, etc)