Я всегда делал так, от sql атак.
// Функция экранирования переменных
function quote_smart($value)
{
// если magic_quotes_gpc включена - используем stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Если переменная - число, то экранировать её не нужно
// если нет - то окружем её кавычками, и экранируем
if (!is_numeric($value)) {
$value = mysql_real_escape_string($value);
}
return $value;
}
$info = $Database->prepare("SELECT money FROM users WHERE text = '".quote_smart($_POST["text"])."'");
Запрос, составленный таким образом, будет выполнен без ошибок, и взлом с помощью SQL Injection окажется невозможен.
Не верите мне читайте тут
http://www.php.ru/manual/function.mysql-real-escape-string.html