2013-05-05 60 views
1

這個評論框應該將評論發送到我的數據庫,然後在評論框下顯示它,但是當我提交評論時什麼也沒有發生,它只是顯示在數據庫中。謝謝 。簡單的評論框php和mysql不起作用

<?php 
require ('connects.php'); 
$comment=$_POST['comment']; 
$submit=$_POST ['submit']; 


if ($submit) { $insert=mysql_query ("INSERT INTO comment (comment) VALUES ('$comment')") ; 


} 


?> 


<html> 
<head><title>Comment Box | HelperTuts</title></head> 
<body> 
<form action="comment-box.php" method="POST"> 

<label>Comment: </label><br /> 
<textarea name="comment" cols="25" rows="7"></textarea><br /><br /><br /> 
<input type="submit" name="submit" value="Comment" /><br /> 

</form> 
<hr width="1100px" size="5px" /> 

<?php 

$getquery="SELECT comment FROM comment ORDER id DESC " ; 
while($rows=mysql_fetch_assoc($getquery)) 
{ 

$id=$rows['id'] ; 
$comment=$rows['comment']; 
echo $comment["comment"] ; 


} 

?> 


</body> 
</html> 
+0

是不是'ORDER BY'? – 2013-05-05 08:11:47

+1

如果這是來自教程,讓我告訴你這是一個糟糕的。查詢而不逃脫get或post意味着歡迎sql注入。 Mysql接口不推薦使用,請使用mysqli或PDO接口。另外你不檢查你的查詢結果。它可能會失敗。 – Ihsan 2013-05-05 08:14:58

回答

2

您沒有運行查詢。您只是構建了SQL並將其保留爲字符串。此外,它是ORDER BY,沒有ORDER:

<?php 

$getquery = "SELECT id, comment FROM comment ORDER BY id DESC "; 
$result = mysql_query($getquery) or trigger_error(mysql_error()); 
while($rows=mysql_fetch_assoc($result)) 
{ 

    $id=$rows['id'] ; 
    $comment=$rows['comment']; 
    echo $comment["comment"] ; 


} 

?> 
+0

而你的查詢應該選擇'id'以及'comment',因爲你以後要求它。 – Andrew 2013-05-05 08:16:48

+0

@Andrew甚至沒有注意到。固定。 – 2013-05-05 08:18:36

1

讓我來刺它:)

<?php 
$mysqli=Mysqli("127.0.0.1","root","DATABASE_PASSWORD","DATABASE_NAME"); 

$comment=$_POST['comment']; 
$comment=$mysqli->real_escape_string($comment); 
$submit=$_POST ['submit']; 

if ($submit) { 
    $insert=$mysqli->query("INSERT INTO `comment`(`comment`) VALUES('".$comment."')"); 
} 
?> 
<!DOCTYPE html> 
<html> 
<head><title>Comment Box | HelperTuts</title></head> 
<body> 
<form action="comment-box.php" method="post"> 
<label>Comment: </label><br /> 
<textarea name="comment" cols="25" rows="7"></textarea><br /><br /><br /> 
<input type="submit" name="submit" value="Comment" /><br /> 
</form> 
<hr width="1100px" size="5px" /> 
<?php 
$getquery="SELECT `comment` FROM `comment` ORDER BY `id` DESC"; 
$result=$mysqli->query($getquery); 
while($rows=$result->fetch_assoc($getquery)) { 
    $id=$rows['id'] ; 
    $comment=$rows['comment']; 
    echo $comment["comment"] ; 
} 
?> 
</body> 
</html>