php - 如何使用 PHPMyAdmin 在 PHP 中添加多个评论框?

标签 php mysql sql html phpmyadmin

我正在使用 PHPMyAdmin 构建一个像评论框一样的表格。我使用的文件是 PHP 脚本,我使用 PHPMyAdmin 为反馈/评论表单设置了“id”、“name”和“comment”值。当我输入名称和评论时,我很高兴看到它起作用了。后来,它出现在底部。然后,当我尝试添加第二条评论时,它不会存储在页面或数据库表中的任何位置。它只保留我输入的第一条评论,第二条评论无处可寻。我认为它与行数限制有关,但我查看了 PHPMyAdmin 并看到了 LIMIT 0,30,这意味着它可以接受 30 条评论。我在这里缺少什么?

IMG of my commenttable IMG of commenttable attributes

'commenttable' 的 PHPMyAdmin 设置:

 SELECT *
 FROM `commenttable`
 LIMIT 0 , 30!

PHP 代码:

           <section>
                <h1 id="theme"><span class="initial">F</span>eedback</h1>
                <div id="message">
                <!--Place content here-->
                <?php
                mysql_connect("localhost","username","password");
                mysql_select_db("database");
                $name=$_POST['name'];
                $comment=$_POST['comment'];
                $submit=$_POST['submit'];

                $dbLink = mysql_connect("localhost", "username", "password");
                    mysql_query("SET character_set_client=utf8", $dbLink);
                    mysql_query("SET character_set_connection=utf8", $dbLink);

                if($submit)
                {
                    if($name&&$comment)
                    {
                        $insert=mysql_query("INSERT INTO commenttable (name,comment) VALUES ('$name','$comment') ");
                    }
                    else
                    {
                        echo "please fill out all fields";
                    }
                }
                ?>

                <div id="feedback_form">
                    <form action="feedbacktest.php" method="POST">
                        <table>
                        <tr><td>Name: <input type="text" name="name"/></td></tr>
                        <tr><td colspan="2">Comment: </td></tr>
                        <tr><td colspan="5"><textarea name="comment" rows="6" cols="30"></textarea></td></tr>
                        <tr><td colspan="2"><input type="submit" name="submit" value="Comment" style="cursor:pointer;"></td></tr>
                        </table>
                    </form>
                </div>

                <?php
                $dbLink = mysql_connect("localhost", "username", "password");
                    mysql_query("SET character_set_results=utf8", $dbLink);
                    mb_language('uni');
                    mb_internal_encoding('UTF-8');

                $getquery=mysql_query("SELECT * FROM commenttable ORDER BY id DESC");
                while($rows=mysql_fetch_assoc($getquery))
                {
                    $id=$rows['id'];
                    $name=$rows['name'];
                    $comment=$rows['comment'];
                    echo $name . '<br/>' . '<br/>' . $comment . '<br/>' . '<br/>' . '<hr size="1"/>';
                }
                ?>
            </div>
        </section> 

最佳答案

您需要将属性auto_increment 添加到字段id。否则,所有条目将获得相同的标识符,并且您的脚本将不会在您使用时从数据库中检索它

$getquery=mysql_query("SELECT * FROM commenttable ORDER BY id DESC");

checkout

$getquery=mysql_query("SELECT * FROM commenttable");

你的新条目出现了吗?

关于 LIMIT 0 , 30 的问题

这部分查询只是用来限制返回的行数为30。这与你的数据库可以存储多少条目无关。有关详细信息,请参阅 http://dev.mysql.com/doc/refman/5.0/en/select.html .

关于php - 如何使用 PHPMyAdmin 在 PHP 中添加多个评论框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20553952/

相关文章:

php - PHP 异常会停止执行吗?

javascript - 如何动态实现 ionRangeSliders

c# - 在 LINQ 中复制 SQL 查询

Mysql 4 个表的多个联接

mysql - 如何在 mysql 搜索中找到仅包含大写字母、空格和数字的所有实例?

mysql - 通过具有 : SQLite vs MySQL 进行分组

mysql - 如何明智地获取数据消息?

php插入数据库失败

php - echo $_SESSION 然后取消设置

mysql - 双向加密+查找?