2010-03-08 4 views
1

새 테이블을 다른 테이블 (blog_comments)에 추가 할 때 한 테이블 (항목)의 주석 열을 업데이트하려고합니다. 이 코드는 DB에 주석을 추가하는 PHP 함수 안에 있습니다.DB에서 주석 수 업데이트

$count = mysql_query("SELECT COUNT(*) FROM blog_comments WHERE entry_title='$entry_title'"); 
$update = mysql_query("UPDATE Entries SET comments='$count' WHERE title='$entry_title'"); 

$ entry_title은 페이지의 이름입니다. 이 코드는 현재 아무 것도하지 않습니다. 아무것도 바뀌지 않습니다. 내가 뭘 잘못하고 있는지 모르겠다. 어떤 아이디어?

답변

4

mysql_query() 결과를 직접 반환하지 않습니다. 외국 애는 일반적으로 권장되지 않습니다 같은 제목을 사용

  1. : 언급

    $result = mysql_query("SELECT COUNT(*) FROM blog_comments WHERE entry_title='$entry_title'"); 
    $row = mysql_fetch_array($result); 
    $count = $row[0]; 
    $update = mysql_query("UPDATE Entries SET comments='$count' WHERE title='$entry_title'"); 
    

    두 가지 가치 : 그것은 당신이 결과를 얻을하는 데 사용할 수있는 리소스를 반환합니다. 블로그 게시물 ID 등을 사용해야합니다 (imho). 및

  2. 이것은 비정규 화를 나타내며 성능 문제가있는 경우 유용 할 수 있습니다. 그렇지 않으면 숫자가 어떻게 든 동기화되지 않으면 문제가 발생할 수 있습니다. 한 번의 왕복으로 블로그 게시물과 주석 수 (하위 쿼리)를 가져 오는 쿼리 하나를 작성할 수 있습니다.

관련 문제