팩토리 패턴은 예를 들어 전체 코드를 다시 작성할 필요없이 다양한 데이터베이스를 연결/쿼리 할 수 있습니다. 이것은 쿼리 자체에 대해서는 아무런 관련이 없습니다.
당신은 PDO 확장을 볼 수 있습니다. 나는 보통 준비된 문과 함께 사용합니다. 그것은 당신이 이런 식으로 쿼리를 작성하게됩니다 :
$prepare = $db->prepare('
SELECT
*
FROM
articles
WHERE
from=:from AND afield=:afield
ORDER BY
views
');
$prepare->bindValue(':from', $_GET['from'], PDO::PARAM_STR);
$prepare->bindValue(':afield', $_GET['afield'], PDO::PARAM_STR);
$prepare->execute();
return $prepare;
그것에 대해 좋은 점은 당신이 PDO는 당신을 위해 그것을 만들면서 SQL 주입에서이를 보호 할 필요가 없다는 것입니다. 또한 쿼리가 캐시되어 여러 매개 변수로 여러 번 실행할 수 있습니다.
이
$query = "SELECT * FROM `articles` WHERE 1 = 1";
$where = ''
if (isset($_GET['from'])) {
$where .= " AND `from` = '" . mysql_real_escape_string($_GET['from']) . "'"
}
if (isset($_GET['anotherInput'])) {
$where .= " AND `from` = '" . mysql_real_escape_string($_GET['anotherInput']) . "'"
}
if (isset($_GET['sortby'] == 'views') {
$orderby = " ORDER BY `views` DESC"
} else {
$orderby = " ORDER BY `id` DESC"
}
$query = $query . $where . $orderby;
$result = mysql_query($query);
이 직선 PHP/MySQL의 방법의 일종이지만, 사실은 당신이 파벨 두비 닌의에로 준비된 문을 사용하는 것이 좋습니다 않습니다
이것은 기본 PHP 폼 처리입니다. –