Код формирования SQL-запроса

Рейтинг: -4Ответов: 1Опубликовано: 04.04.2011

Товарищи, как бы получше переписать подобный говнокод?

$query = "INSERT INTO users(login,pass,name,email) VALUES(
'".mysql_real_escape_string($_POST['login'])."',
'".mysql_real_escape_string(md5crypt($_POST['pass']))."',
'".mysql_real_escape_string($_POST['name'])."',
'".mysql_real_escape_string($_POST['email']);

Ответы

▲ 3

Используйте PDO или напишите свою библиотеку которая будет поддерживать плейcхолдеры, в итоге запрос будет иметь вид что-то вроде:

$query = query("INSERT INTO users(login,pass,name,email) VALUES( :l, :p, :n, :e )",
array(
':l' => $_POST['login'], ':p' => md5crypt($_POST['pass']), 
':n' => $_POST['name'], ':e' => $_POST['email']
)
);

или

$query = query("INSERT INTO users(login,pass,name,email) VALUES(?,?,?,?)",
array(
$_POST['login'], md5crypt($_POST['pass']), $_POST['name'], $_POST['email']
)
);