그래서 PHP의 PDO를 사용하는 방법을 배우면서 2012 년 PHP를 업데이트하기로 결정했습니다. 지금까지 모든 것이 훌륭해졌지만, 내가가는 길이 정말로 최선의 방법인지는 모르겠다.PHP PDO : PHP를 좀 더 깔끔하고 효율적으로 만들 수 있습니까?
이 예제에서는 사용자가 만든 게시물을 표시하고 각 게시물에 대해 2 개의 의견을 표시하도록 데이터베이스에 쿼리하고 있습니다. 그래서 기본적으로 내가하고있는 일은 내 게시물을 가져 와서 반복하고, 그 루프에서 모든 게시물에 대한 상위 2 개의 댓글을 데이터베이스에 쿼리합니다. 그러나 내가 일주일 내내 돌아 다니고 일년 내내 이것을 사용하기 시작하기 전에, 이것을하는 더 깨끗한 방법이 있는지 알 것입니다.
누군가이 작은 코드 블록을 살펴보고 더 깨끗하고 더 효율적인 방법이 있다면 알려 주시면 감사하겠습니다. 기분 전환하세요!
<?php
$hostname = 'localhost';
$username = 'root';
$password = 'root';
$database = 'database';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Get Posts
$stmt = $dbh->prepare("SELECT * FROM posts");
$stmt->execute();
$result = $stmt->fetchAll();
}
catch(PDOException $e)
{
echo $e->getMessage();
}
//Loop through each post
foreach($result as $row) {
echo $row['post'];
//Get comments for this post
$pid = $row['id'];
$stmt = $dbh->prepare("SELECT * FROM comments WHERE pid = :pid LIMIT 2");
$stmt->bindParam(':pid', $pid, PDO::PARAM_STR);
$stmt->execute();
$c_result = $stmt->fetchAll();
//Loop through comments
foreach($c_result as $com) {
echo $com['comment'];
}
}
//Close connection
$dbh = null;
?>
더 효율적인 이유는 무엇입니까? 추상적 인 효율성은 없습니다. 시간의 관점에서 보면 가장 효율적인 솔루션은 다시 작성하지 않아도되므로 (그리고 시간 낭비) 작동하는 솔루션입니다. 그게 중요할까요? – zerkms
http://codereview.stackexchange.com/ –
에서 더 좋은 답변을 얻을 수도 있습니다. http://codereview.stackexchange.com/ – dan