php - 表不会更新,但显示成功

标签 php mysql database

我是 MYSQL 新手

当我尝试更新数据库时,结果显示成功,但该项目未显示。请有人帮忙。我尝试过通过将帖子转换为 session 变量来继承它,但没有什么区别。

update_ac.php

                $name = $_POST['name'];
            $lastname = $_POST['review'];

            // Connect to server and select database.
            mysql_connect("$host", "$username", "$password")or die("cannot connect");
            mysql_select_db("$db_name")or die("cannot select DB");

            // update data in mysql database
            $sql="UPDATE reviews SET name='$name', review='$lastname' WHERE id='$id'";
            $result=mysql_query($sql);

            // if successfully updated.
            if($result){
            echo "Successful";
            echo "<BR>";
            echo "<a href='list_reviews.php'>View result</a>";
            }

            else {
            echo "ERROR";
            echo "Welcome ". $_POST['name']. "<br />";
            echo $lastname; 
            }

            ?> 

更新.php

                // Connect to server and select database.
            mysql_connect("$host", "$username", "$password")or die("cannot connect");
            mysql_select_db("$db_name")or die("cannot select DB");

            // get value of id that sent from address bar
            $id=$_GET['id'];

            // Retrieve data from database
            $sql="SELECT * FROM $tbl_name WHERE id='$id'";
            $result=mysql_query($sql);

            $rows=mysql_fetch_array($result);
        ?>

        <?php include "includes/header.php"; ?>
                <div id="bodywrap">
                    <div id="leftcol">
                    <h1>Update the form</h1>

        <form name="form1" method="post" action="update_ac.php">
        <label>Name</label>
        <input name="name" type="text" id="name" value="<? echo $rows['name']; ?>">
        <br />
        <label>Review</label>
        <input name="lastname" type="text" id="lastname" value="<? echo $rows['review']; ?>" size="15">
        <br />
        <input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
        <br />
        <input type="submit" name="Submit" value="Submit">
        </form>

        <?php
        // close connection
        mysql_close();
        ?>

最佳答案

$name = $_POST['name'];
$lastname = $_POST['review'];

您是否注意到您使用了 $id 而不是 $_POST['id'] 或 $_REQUEST['id'] 或 $_GET['id'] ?缺少这个:

$id = $_POST['id'];

SQL 之所以有效,是因为它确实对找到的每个 id='' 进行了更新,因此这不是一个错误。

此外,正如其他人指出的那样,使用 mysqli,mysql 扩展很危险,可能很快就会被弃用

关于php - 表不会更新,但显示成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26432780/

相关文章:

c# - 使用 C# 在 MySQL 数据库中查找具有特定 id 的行

php paypal pro(高级)集成问题

php - 将 DOMXpath 的结果插入 MySQL

php - 如何公开Apache服务器?

mysql - 如何按月创建活跃公司的 View ?

iphone - 如何为将下载替换 SQLite DB 的 iPhone 应用程序实现 "check for updates"例程?

php - Angular 2 : Send data to MySQL with php file

php - mysql 无法在 xampp 上运行

python - 在 Windows 上为 django 开发设置 virtualenv,

sql - 为什么 PostgreSQL 必须不同(方案不存在)?