1. Нужно использовать
подготовленные запросы, а не делать по старинке через mysqli_real_escape_string.
2. Если вы текстом написали запрос update, он еще не начнет выполнятся, где-то нужно запустить execute.
if(isset($_POST['ref_button']) )
{
$send_ref = $_POST["send_ref"];
$stmt = msqli_prepare($con, "SELECT * FROM usertable WHERE referral= ?");
mysqli_stmt_bind_param($stmt, 's', $send_ref); // s - тип данных строка, i - число, если не тот тип данных - нужно исправить
$result = mysqli_stmt_execute($stmt);
if(mysqli_num_rows($result) > 0)
{
$stmt = msqli_prepare($con, "UPDATE usertable SET owner = ? WHERE email = ?");
mysqli_stmt_bind_param($stmt, 'ss', $send_ref, $email); // s - тип данных строка, i - число, если не тот тип данных - нужно исправить
$result = mysqli_stmt_execute($stmt);
}
}