Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql php回显值未出现_Php_Mysql - Fatal编程技术网

mysql php回显值未出现

mysql php回显值未出现,php,mysql,Php,Mysql,我正在尝试实现和更新查询,以更新数据库中的记录。我是php新手,以下是我的代码: <input type="text" name="name" value="<?= $name ?> "><br><br> E-mail: <input type="text" name="email" value="<?= $email ?>" ><br><br> Password: <input type="

我正在尝试实现和更新查询,以更新数据库中的记录。我是php新手,以下是我的代码:

<input type="text" name="name" value="<?=  $name ?> "><br><br>
E-mail: <input type="text" name="email" value="<?= $email ?>" ><br><br>
Password: <input type="password" name="password" value="<?=  $pass ?>" >

以下是操作页面:

    <?php 
include("connection.php");
//include("UpdateStudent.php");
        $id = $_GET['id'];
        $name = $_GET['name'];
        $email= $GET['email'];
        $pass = $_GET['password'];
      //$major = $_POST['major'];

      $qry = "UPDATE studentinformation SET FullName = '$name', email='$email', Password= '$pass'
      WHERE ID = $id";
      $result = mysqli_query($con,$qry) or die(mysqli_error($con));
      if($result === false){
          echo "Record didn't update";
      }
      else{
          echo "Record Updated";
      }

    ?>

id
从操作属性移动到隐藏输入:

<form action="UpdateStudentAction.php" method="get" enctype="multipart/form-data">
    <input type="hidden" name="id" value="<?=$id?>">
    ...


使表单
POST
数据,而不是使用
GET
方法(通过url传递表单数据)。特别是您已经在url中使用了id查询参数。您可以将id作为隐藏字段包含在表单中:

<form action="UpdateStudentAction.php?id=<?=  $id ?>" method="POST" enctype="multipart/form-data">
   <input type="hidden" name="id" value="<?=  $id ?> ">
   <input type="text" name="name" value="<?=  $name ?> "><br><br>
   E-mail: <input type="text" name="email" value="<?= $email ?>" ><br><br>
   Password: <input type="password" name="password" value="<?=  $pass ?>" >
</form>
  • GET方法仅限于发送最多1024个字符
  • POST方法对要发送的数据大小没有任何限制。(您可以使用POST方法而不是GET方法)

  • 你能澄清你所说的“回声值不出现”是什么意思吗?您的
    记录是否未更新
    记录更新
    消息是否未出现?或者其他什么?两者都不起作用echo未出现和记录未更新
    这是echo,因此当前它返回此
    echo“记录未更新”?警告:您的代码易受SQL注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者使用恶意输入值破坏您的数据库。给出了风险的解释,以及如何使用PHP/mysqli安全地编写查询的一些示例。切勿将未初始化的数据直接插入SQL。按照现在编写代码的方式,有人很容易窃取、错误更改甚至删除您的数据。请选择最符合您需要的答案:)
    
    <form action="UpdateStudentAction.php" method="get" enctype="multipart/form-data">
        <input type="hidden" name="id" value="<?=$id?>">
        ...
    
    <form action="UpdateStudentAction.php?id=<?=  $id ?>" method="POST" enctype="multipart/form-data">
       <input type="hidden" name="id" value="<?=  $id ?> ">
       <input type="text" name="name" value="<?=  $name ?> "><br><br>
       E-mail: <input type="text" name="email" value="<?= $email ?>" ><br><br>
       Password: <input type="password" name="password" value="<?=  $pass ?>" >
    </form>
    
        <?php 
    include("connection.php");
    //include("UpdateStudent.php");
            $id = $_POST['id'];
            $name = $_POST['name'];
            $email= $_POST['email'];
            $pass = $_POST['password'];
          //$major = $_POST['major'];
    
          $qry = "UPDATE studentinformation SET FullName = '$name', email='$email', Password= '$pass'
          WHERE ID = $id";
          $result = mysqli_query($con,$qry) or die(mysqli_error($con));
          if($result === false){
              echo "Record didn't update";
          }
          else{
              echo "Record Updated";
          }
    
        ?>