이고, 현재로서는 약간의 두통이 있습니다. 이전 페이지에서 링크를 클릭 한 후 일부 데이터를 검색하는 데이터베이스를 쿼리하고 있습니다.에코를 사용하지 않고 데이터베이스를 쿼리하면 디자인 결과가
'에코'에서 일부 코드로 재생하기가 쉽습니다. 문제는 'echo'에 있습니다. PHP와 include/html/design 코드를 디자인에 넣어야합니다. 거기에 방법을 코드를 작성할 수 있지만 나중에 다시 변수를 호출하고 포함하는 등의 다른 PHP 코드를 배치 할 수있는 방법이 있나요? 기본적으로 내가 코드를 가지고 있어야하지만 내 페이지의 디자인 측면에 집중할 수 있도록 해줄 수있는 무언가가있다.
도움을 주시면 감사하겠습니다.
<?php
if(!empty($_GET['book_url']))
{
$sql = "
SELECT articles.id, articles.order_ref, articles.art_title, articles.art_book, articles.art_url, book.id AS bookid, book.book_name AS book_name, book.book_url AS book_url
FROM articles
LEFT JOIN book ON articles.art_book = book.id
WHERE book_name = \"" .$_GET['book_url'] . "\"
ORDER BY id ASC
";
// then do the query, etc....
}
$results = $db->query($sql);
if($results->num_rows) {
While($row = $results->fetch_object()) {
echo "
////////Show Stuff
";
?>
경고 ** ** 쿼리에는'$ _GET' 데이터가 사용되기 때문에 심각한 [SQL injection 버그] (http://bobby-tables.com/)가 있습니다. 가능하면 ** prepared statements **를 사용하십시오. 이것들은 [mysqli] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)와 [PDO] (http://php.net/manual/)에서 매우 간단합니다. en/pdo.prepared-statements.php) 어디에서 사용자가 제공 한 데이터는 나중에 사용되는 것에 따라'bind_param' 또는'execute'를 사용하여 채워지는'?'또는': name' 지시자로 지정됩니다. **'$ _POST' 또는'$ _GET' 데이터를 쿼리에 직접 입력하지 마십시오. – tadman
[Twig] (http://twig.sensiolabs.org/)와 같은 템플릿 엔진을 사용하여이 분리를 멋지게 처리하는 것이 좋습니다. – Augwa