php mysql简单更新:无法读取值

php mysql简单更新:无法读取值,php,mysql,Php,Mysql,可能是个愚蠢的问题,但是。。。 我有一个PHP和MySQL的示例,它不工作。。。 有3个php文件: list_records.php update.php 更新_ac.php 问题是第三个不能从第二个读取变量。我做错了什么 以下是我的文件/代码: list_records.php <?php $host="localhost"; // Host name $username="root"; // Mysql username $password=""; // Mysql passwo

可能是个愚蠢的问题,但是。。。 我有一个PHP和MySQL的示例,它不工作。。。 有3个php文件:

  • list_records.php
  • update.php
  • 更新_ac.php
  • 问题是第三个不能从第二个读取变量。我做错了什么

    以下是我的文件/代码:

    list_records.php

    <?php
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="test"; // Database name 
    $tbl_name="test_mysql"; // Table name 
    
    // 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");
    
    $sql="SELECT * FROM $tbl_name";
    $result=mysql_query($sql);
    ?>
    
    <table width="400" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td>
    <table width="400" border="1" cellspacing="0" cellpadding="3">
    <tr>
    <td colspan="4"><strong>List data from mysql </strong> </td>
    </tr>
    
    <tr>
    <td align="center"><strong>Name</strong></td>
    <td align="center"><strong>Lastname</strong></td>
    <td align="center"><strong>Email</strong></td>
    <td align="center"><strong>Update</strong></td>
    </tr>
    
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>
    
    <tr>
    <td><?php echo $rows['name']; ?></td>
    <td><?php echo $rows['lastname']; ?></td>
    <td><?php echo $rows['email']; ?></td>
    
    
    <td align="center"><a href="update.php?id=<?php echo $rows['id']; ?>">update</a></td>
    </tr>
    
    <?php
    }
    ?>
    
    </table>
    </td>
    </tr>
    </table>
    
    <?php
    mysql_close();
    ?>
    
    
    列出mysql中的数据
    名称
    Lastname
    电子邮件
    更新
    
    update.php

    <?php
    $host="localhost"; // Host name 
    $username="root"; // Mysql username 
    $password=""; // Mysql password 
    $db_name="test"; // Database name 
    $tbl_name="test_mysql"; // Table name
    
    // 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);
    ?>
    
    <table width="400" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <form name="form1" method="post" action="update_ac.php">
    <td>
    <table width="100%" border="0" cellspacing="1" cellpadding="0">
    <tr>
    <td>&nbsp;</td>
    <td colspan="3"><strong>Update data in mysql</strong> </td>
    </tr>
    <tr>
    <td align="center">&nbsp;</td>
    <td align="center">&nbsp;</td>
    <td align="center">&nbsp;</td>
    <td align="center">&nbsp;</td>
    </tr>
    <tr>
    <td align="center">&nbsp;</td>
    <td align="center"><strong>Name</strong></td>
    <td align="center"><strong>Lastname</strong></td>
    <td align="center"><strong>Email</strong></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td align="center">
    <input name="name" type="text" id="name" value="<?php echo $rows['name']; ?>">
    </td>
    <td align="center">
    <input name="lastname" type="text" id="lastname" value="<?php echo $rows['lastname']; ?>" size="15">
    </td>
    <td>
    <input name="email" type="text" id="email" value="<?php echo $rows['email']; ?>" size="15">
    </td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>
    <input name="id" type="hidden" id="id" value="<?php echo $rows['id']; ?>">
    </td>
    <td align="center">
    <input type="submit" name="Submit" value="Submit">
    </td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </td>
    </form>
    </tr>
    </table>
    
    <?php
    // close connection 
    mysql_close();
    ?>
    

    您需要从
    update_ac.php
    文件中的
    POST
    获取它们,如

    $sql="UPDATE $tbl_name 
          SET name='TEST', 
              lastname='".$_POST['lastname']."', 
              email='".$_POST['email']."' 
          WHERE id=".$_POST['id'];
    

    这是您在更新查询中需要的内容

    ......lastname='".$_POST['lastname']."', email='".$_POST['email']."' WHERE id=".$_POST['id']
    
    每当
    表单
    操作
    中提到的文件发布/提交值时,该文件必须访问
    $\u POST
    数组中表单字段名称的值,如
    $\u POST['lastname',$\u POST['email']
    。等。(如果使用的
    方法是
    表单中的
    POST

    有三种方式可以访问提交的值:

  • 得到
  • 职位
  • 请求

  • 在将值插入或更新到数据库之前,您需要从客户端获取服务器端的值。为此,我们在php中使用了超全局变量,如$\u get、$\u POST、$\u REQUEST等。 因此,请在更新_ac.php中包含这些内容:
    $lastname=$\u POST[lastname]
    
    $email=$\u POST[email];
    
    $id=$\u POST[id]`


    如果您不确定通过哪种方法传递表单中的值,则可以使用$\u请求方法。但请尽量避免使用,因为它不太安全。

    您没有在更新查询中获取post的值。有一件事,您有
    $id=$\u get['id']
    并使用
    method=“post”
    -使两者相同。非常感谢,我以为我在尝试,但显然不是。:-)
    ......lastname='".$_POST['lastname']."', email='".$_POST['email']."' WHERE id=".$_POST['id']