Injeções de SQL no ADOdb e segurança geral do site

Eu fiz praticamente leitura e ainda não entendi 100% como algumas das injeções de SQL acontecem!

Gostaria de ver, daqueles que sabem, exemplos concretos de injeção de SQL com base no meu exemplo, para que pudessem ser replicados, testados e corrigidos. Eu tentei injetar SQL no meu código e não consegui, então eu gostaria que alguém me provasse o contrário!

1. Estou certo que a injeção de SQL pode acontecer APENAS com os métodos POST ou GET, o que significa que no site deve ser o formulário de postagem, por exemplo, 'inscrição ou pesquisa' ou consulta como 'search.php? tags = love'?

Dizendo isso é possível injetar o seguinte código que tem o método POST?

$name     = trim($_POST['username']);
$mail     = trim($_POST['email']);
$password = trim($_POST['password ']);

   if ($errors == "false") {
    $sql = 
        "INSERT INTO 
           clients 
         SET 
           name='" . mysql_real_escape_string($name) . "',
           mail='" . mysql_real_escape_string($mail) . "', 
           password='" . mysql_real_escape_string(sha1($password)) . "'";
           $connection->execute($sql);

    }

2. o outro tem o método GET:rate.php?like&videoID=250&userID=30

$sql = 
    "SELECT 
        videoID 
     FROM 
        likes 
     WHERE 
        videoID = '" .mysql_real_escape_string($videoID). "' AND UID = '" .mysql_real_escape_string($userID). "' LIMIT 1";
        $connection->execute($sql);

Por favor, ajude aqueles que se sentem livres com o assunto, mas use os exemplos concretos.

Desde já, obrigado,
Ilia

questionAnswers(2)

yourAnswerToTheQuestion