"SQL injection is a code injection technique that exploits a security vulnerability occurring in the database layer of an application." - Google Books.
This issue presents when the user input is incorrectly filtered for string literal escape characters embedded in SQL statements or when the user input is not typed strongly and therefore executed unexpectedly. SQL injection attacks are also known as SQL insertion attacks.
To protect against SQL injection, the user input should not directly be embedded in SQL statements. Else, parameterized statements must be used (preferred), or user input must be carefully filtered or escaped.
If you are using a database driven program (e.g. WordPress, Joomla, OSCommerce), then all you need to do is upgrade your programs to the latest version available.
SQL injection is basically an attack where malicious code is passed to an SQL Server for execution. The attack can result in unauthorized access to confidential data, or destruction of critical data.