The second function only accepts strings defined at compile time, meaning it can't be called with strings created at runtime (i.e. any string containing user input).
let _rows = sql_query("SELECT * FROM users WHERE username=?", &[username]);
The statement is static, but the [username] part is not, it's just a variable that can have whatever username you want.