¿Cómo actualizar de mysql_ * a mysqli_ *?

Actualmente estoy usando un código en desuso para obtener datos de los usuarios, de la siguiente manera:

/* retrieve */
$lastName = $_POST['lastName']; 
$firstName = $_POST['firstName']; 
$examLevel=$_POST['level'];

/* connect */
$dbc=mysql_connect("localhost", "user", "passw") or die('Error connecting to MySQL server');
mysql_select_db("db") or die('Error selecting database.');

/* sanitize */
$lastName=mysql_real_escape_string($lastName);
$firstName=mysql_real_escape_string($firstName); 
$examLevel=mysql_real_escape_string($examLevel);


/* insert */
$query_personal = "INSERT INTO personal (LastName, FirstName) VALUES  ('$lastName', '$firstName')";

$query_exam = "INSERT INTO exam (Level, Centre, BackupCentre, etc.) VALUES ('$examLevel', '$centre', '$backup', 'etc')";

Esto funciona, pero sigo advirtiendo sobre la seguridad y la falta de soporte. Hay una pequeña reescritura paraconectar con mysqli en lugar de mysql pero ¿qué pasa conmysqli_real_escape_string? Lo he visto usado en ejemplos, pero también he visto consejos para usar declaraciones preparadas que no usan mysqli_real_escape_string.

¿Y cómo usaría las declaraciones preparadas para INSERTAR mis datos? Estoy un poco en el mar con este poco hasta ahora. Por ejemplo, ¿es el enlace de parámetros solo para INSERT y el enlace de resultados solo para SELECT?

Respuestas a la pregunta(2)

Su respuesta a la pregunta