1

PHPとMySQLを使用して、自分の手作りサイトにコメントセクションを作成しようとしています。コメントをデータベースに保存しましたが、コメントを選択しようとすると、サイトでこのエラーが発生します。

mysql_result()[function.mysql-result]:16行目の/home/a9210109/public_html/comments.phpのMySQL結果インデックス9の行0にジャンプできません

これまでの私のコードは以下のとおりです

    <?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++;
    }
    ?>
4

4 に答える 4

2

変化する

 $num=mysql_numrows($comments);

$num=mysql_num_rows($comments);

正しい構文mysql_num_rowsmysql_numrows

于 2012-12-17T11:00:21.830 に答える
1

$ iは最初のphp部分に設定されていません:

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

上記を修正してください!

于 2012-12-17T11:01:21.513 に答える
0

まず、この質問を確認してください。
あなたのコードに関して、あなた$iはエラーを引き起こした16行目の前にありませんでした:

$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");
}

コメントの総数を取得するために、私は個人的にCOUNTクエリを作成します。

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

この場合、mysql_num_rows()COUNTクエリは必ず1つの結果「0」などを返すため、チェックする必要はありません。

于 2012-12-17T11:04:12.297 に答える
0

データベースにレコードはありません。

$ UseComment = "INSERT INTO Comments VALUES('$ comment')"; 間違っている。

次のように変更します

$ UseComment = "INSERT INTO Comments(comment)VALUES('$ comment')";

ありがとう。

于 2012-12-17T11:50:03.087 に答える