Possible Duplicate:
Best way to prevent SQL injection in PHP?
Ive been doing a bit of testing to protect my sites from SQL Injection. I see there are a couple of ways of doing so, Escaping my user inputs, adding slashes, or better yet using parameterized sql statements.
I had this test code..
$q=$_GET["q"];
$game = mysql_query("SELECT * FROM `Games` WHERE `id` = '$q'");
$game = mysql_fetch_array($game);
echo "<h4>ID: ".$game[0]."<br /></h4>name: " . $game[1];
And I tried several SQLi requests and could not get my test page to error, or show any extra data.
But when i changed my sql statement code to this (Removed the single quotes around $q)..
$game = mysql_query("SELECT * FROM `Games` WHERE `id` = $q");
I could perform simple SQLi's and get some results.
So is just wrapping my user inputs in single quotes good enough? Or have i over looked more complex SQLi techniques?