2013-05-02 2 views
0

내 갤러리에 댓글 섹션을 만들었지 만 댓글을 1 개만 할 수 있는지 확실하지 않은 이유는 해당 항목에 대한 더 많은 의견을 남길 수는 없습니다.어떤 이유에서든 삽입시 여러 의견을 쓸 수 없다

삽입

public function insertComment() { 
    if(!get_magic_quotes_gpc()) { 
     $this -> sanitizeInput(); 
    }   
    extract($_POST); 

    $name = $_SESSION['userName']; 
    $comment = $_POST['comment']; 
    $productID = $_GET['id']; 

    echo $name; 
    echo $comment; 
    echo $productID; 


    $qry = "INSERT INTO comments VALUES (NULL, '$name', '$comment', '$productID')"; 

    $rs = $this -> db -> query($qry); 

    if($rs && $this -> db -> affected_rows > 0) { 
     $msg = 'comment record created. '; 
     } else { 
     echo 'Error inserting comment'; 
    } 
    return $msg;  
} 

테이블

Field Type Collation Attributes Null Default Extra Action 
    id int(11)   No None auto_increment       
    name varchar(150) latin1_swedish_ci  No None         
    comment varchar(150) latin1_swedish_ci  No None         
    productID int(11)   No None 
+3

'extract()'를 사용하지 마십시오. 그것은 매우 게으른 코딩의 표시이며, PHP에 내장 된 더 큰 어리 석음의 대부분을 복제합니다. 즉 : register_globals. 또한 [SQL 주입 공격] (http://bobby-tables.com)에 취약합니다. –

+0

어디에서'추출물 '을 보았습니까? 그것은 ~ ~ 15 년 이래로 불안정한 것으로 간주되는 실제로 oooold 기술입니다. 해커는 입력란에 입력란을 추가하여 스크립트의 변수를 덮어 쓸 수 있습니다. beeing 사용해서는 안됩니다! – hek2mgl

+0

productID의 고유 색인일까요? – nicolas

답변

0

어쩌면이 작동합니다

$qry = "INSERT INTO comments (name, comment, productID) VALUES ('$name', '$comment', '$productID')"; 

null을 제거하십시오.

관련 문제