2012-12-17 48 views
1

我想使用PHP和MySQL在我手工製作的網站上發表評論。我有存儲在我的數據庫中的意見,但是當我試圖將其選中我的網站拋出了這個錯誤,MySQL PHP SELECT拋出一個錯誤?

mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 9 in /home/a9210109/public_html/comments.php on line 16

到目前爲止我的代碼是低於

<?php 
    $comment = $_POST['comment']; 
    $mysql_host = ""; 
    $mysql_database = ""; 
    $mysql_user = ""; 
    $mysql_password = ""; 
    mysql_connect($mysql_host,$mysql_user,$mysql_password); 
    @mysql_select_db($mysql_database) or die("Unable to select database"); 
    $CreateTable = "CREATE TABLE comments (comment VARCHAR(255), time VARCHAR(255));"; 
    mysql_query($CreateTable); 
    $UseComment = "INSERT INTO comments VALUES ('$comment')"; 
    mysql_query($UseComment); 
    $SelectComments = "SELECT * FROM comments"; 
    $comments = mysql_query($SelectComments); 
    $num=mysql_numrows($comments); 
    $variable=mysql_result($comments,$i,"comment"); 
    mysql_close(); 
    ?> 
    <a href="#" onclick="toggle_visibility('hidden');">Show/Hide Comments</a> 
    <?php 
    $i=0; 
    while ($i < $num) { 
    $comment=mysql_result($comments,$i,"comment"); 
    echo "<div id='hidden' style='display:none'><h3>$comment</h3></div>"; 
    $i++; 
    } 
    ?> 
+0

謝謝,那個被注意到 – orano10000

回答

2

變化

$num=mysql_numrows($comments); 

$num=mysql_num_rows($comments); 

E右鍵語法mysql_num_rowsmysql_numrows

+0

非常感謝你 – orano10000

+0

@ user1909695如果你發現有用的答案比標記正確,那麼其他用戶可以參考它。 –

1

$我是不是在第一個PHP部分設置:

$variable=mysql_result($comments,$i,"comment"); 

解決上述!

+0

等待:我應該刪除「評論」,因爲另一個用戶剛剛告訴我這個嗎? – orano10000

0

首先,您可以檢查this question

$variable=mysql_result($comments,$i,"comment"); 

你應該檢查是否有發行mysql_result之前的任何結果:

$SelectComments = "SELECT * FROM comments"; 
$comments = mysql_query($SelectComments); 
if($num = mysql_num_rows($comments)){ 
    $variable = mysql_result($comments, 0, "comment"); 
} 

我會親自
與您的代碼至於,你沒有造成錯誤的行16之前有$i寫COUNT查詢以獲得總評論數:

$sql = 'SELECT COUNT(*) total FROM comments'; 
$comments = mysql_query($sql); 
$row = mysql_fetch_assoc($comments); 
$totalComments = $row['total']; 

在這種情況下,您不需要t o檢查mysql_num_rows(),因爲COUNT查詢肯定會返回一個結果「0」或其他。

+0

好的,謝謝,我應該刪除「評論」還是簡單地定義$ i之前? – orano10000

+0

我應該怎麼做,只需將$ i定義爲0? – orano10000

+0

@ user1909695,請檢查我的更新答案。 – Sithu

0

數據庫中沒有記錄。

$ UseComment =「INSERT INTO comments VALUES('$ comment')」;是錯的。

更改它作爲

$ UseComment = 「INSERT INTO評論(評論)VALUES( '$意見')」;

謝謝。