【问题标题】:getting error when we get data from mysql database how correct [duplicate]当我们从mysql数据库获取数据时出现错误如何正确[重复]
【发布时间】:2017-02-11 13:37:15
【问题描述】:

我制作这个 submit.php 用于将学生数据提交到数据库中

这里是代码

<html>
    <head>
        <title>Submit Student DATA </title>
        <link rel="stylesheet" type="text/css" href="style.css">
    </head>
    <body>

        <div id="main">
            <h1>Submit Student Data for Verify </h1>
            <div id="login">
                <h2>Student's Form</h2>
                <hr/>
                <form action="" method="post">
                    <label>Student Name  :</label>
                    <input type="text" name="stu_name" id="name" required="required" placeholder="Please Enter Name"/><br /><br />
                    <label>Father Name  :</label>
                    <input type="text" name="stu_fathername" id="name" required="required" placeholder="Please Father Name"/><br /><br />
                    <label>Phone Number  :</label>
                    <input type="text" name="stu_phonenumber" id="name" required="required" placeholder="+92000000"/><br /><br />
                    <label>Address  :</label>
                    <input type="text" name="stu_address" id="name" required="required" placeholder="Pakistan, Punjab 0000"/><br /><br />
                    <label>Course Name  :</label>
                    <input type="text" name="stu_course" id="name" required="required" placeholder="Nebosh saftey"/><br /><br />
                    <label>Certificate Number  :</label>
                    <input type="text" name="stu_certificatenumber" id="name" required="required" placeholder="Enter Number"/><br /><br />
                    <label>Registration Number  :</label>
                    <input type="text" name="stu_registrationnumber" id="name" required="required" placeholder="Enter Number"/><br /><br />
                    <label>Student Email  :</label>
                    <input type="email" name="stu_email" id="email" required="required"  placeholder="john123@gmail.com"/><br/><br />
                    <label>Student City  :</label>
                    <input type="text" name="stu_city" id="city" required="required"  placeholder="Lahore"/><br/><br />
                    <input type="submit" value=" Submit " name="submit"/><br />
                </form>
            </div>


        </div>
        <?php
        if (isset($_POST["submit"])) {
            $servername = "localhost";
            $username = "root";
            $password = "root";
            $dbname = "college";

// Create connection
            $conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
            if ($conn->connect_error) {
                die("Connection failed: " . $conn->connect_error);
            }

            $sql = "INSERT INTO students (student_name, father_name, phone_number, student_address, student_course, student_certificatenumber, student_reg, student_email, student_city)
VALUES ('" . $_POST["stu_name"] . "','" . $_POST["stu_fathername"] . "','" . $_POST["stu_phonenumber"] . "','" . $_POST["stu_address"] . "','" . $_POST["stu_course"] . "','" . $_POST["stu_certificatenumber"] . "','" . $_POST["stu_registrationnumber"] . "','" . $_POST["stu_email"] . "','" . $_POST["stu_city"] . "')";

            if ($conn->query($sql) === TRUE) {
                echo "<script type= 'text/javascript'>alert('New Record Inserted Successfully');</script>";
            } else {
                echo "<script type= 'text/javascript'>alert('Error: " . $sql . "<br>" . $conn->error . "');</script>";
            }

            $conn->close();
        }
        ?>
    </body>
</html>

我想在其中 1 个文本框调用学生注册号的地方创建搜索框。当我输入学生注册号并点击搜索时,我会从 mysql 获取学生数据

这里是搜索代码,可能正确或错误,我不知道

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$hostname_php_result_conn = "localhost";
$database_php_result_conn = "college";
$username_php_result_conn = "root";
$password_php_result_conn = "root";   
$php_result_conn = mysql_connect($hostname_php_result_conn, $username_php_result_conn, $password_php_result_conn);
mysql_select_db($database_php_result_conn,$php_result_conn);

if(isset($_POST['submit'])) {
   $student_reg = $_POST['stu_registrationnumber'];

   $sql1 = mysql_query("SELECT students FROM student_reg WHERE = $stu_registrationnumber");
   $row1 = mysql_num_rows($sql1);

   if($row1 == 0) {
      echo 'Error, ID does not exist';
   } else {
      header('Location: show_result.php?student_reg='.$stu_registrationnumber);
   }   
}
?>

<html>
<head>
<title>Search</title>
</head>
<body>

<form action="search.php" method="post">
<input name="student_reg" type="text" id="stu_registrationnumber" />
<input type="submit" name="submit" value="search" />
</form>
</body>
</html>

这里是 show_result.php 页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
$hostname_php_result_conn = "localhost";
$database_php_result_conn = "college";
$username_php_result_conn = "root";
$password_php_result_conn = "root";   
$php_result_conn = mysql_connect($hostname_php_result_conn, $username_php_result_conn, $password_php_result_conn);
mysql_select_db($database_php_result_conn,$php_result_conn);

$stu_reg = $_GET['stu_registrationnumber'];

$sql1 = mysql_query("SELECT * FROM students WHERE stu_registrationnumber = $stu_registrationnumber");
$row1 = mysql_fetch_array($sql1);
$student_name = $row1['student_name'];
$phone_number = $row1['phone_number'];
$student_address = $row1['student_address'];
$student_course = $row1['student_course'];
$student_certificatenumber = $row1['student_certificatenumber'];
$stu_registrationnumber = $row1['stu_registrationnumber'];
$student_email = $row1['student_email'];
$student_city = $row1['student_city'];
?>

<html>
<head>
<title>Show Results</title>
</head>
<body>

<?php
echo 'Student Name = '.$student_name.'<br />
Father Name = '.$father_name;
Phone Number = '.$phone_number;
Address = '.$student_address;
Course = '.$student_course;
Certificate Number = '.$student_certificatenumber;
Registration Number = '.$stu_registrationnumber;
E-Mail = '.$student_email;
City = '.$student_city;
?>

</body>
</html>

但我收到错误,ID 不存在但在数据库中我们已经有注册号但收到错误仍然错误

【问题讨论】:

  • $student_reg = $_POST['student_reg']; vs &lt;input type="text" name="stu_registrationnumber" /&gt; - $_POST 的值有误,应该是 $_POST['stu_registrationnumber']
  • $_POST['student_reg']; -> $_POST['stu_registrationnumber']; 但是 不要使用 mysql_*,清理用户输入,使用准备好的语句。
  • 另外,你为什么在一个中使用mysqli_ API,然后在另一个中使用mysql_?
  • 它的mysql没有使用mysqli

标签: php html mysql database search


【解决方案1】:

您的帖子值错误。

改变:

<input type="text" name="stu_registrationnumber" />

<input type="text" name="student_reg" />

【讨论】:

  • 啊哈哈领先我几秒。有趣的是,我们的帖子格式几乎相同。
  • @MatthewGoulart 哈哈,我注意到了。这对他来说更容易进行他的项目
  • 我这样做了,但仍然出现空白页
【解决方案2】:

如果您的学生注册输入为“stu_registrationnumber”但您正在 display.php 中查找“student_reg”,则该名称。

改变

$student_reg = $_POST['student_reg'];

$student_reg = $_POST['stu_registrationnumber']

【讨论】:

  • 我这样做了,但在 display.php 中仍然出现空白页
  • 在这种情况下需要更多信息。你有错误吗?错误报告是否打开? echo $_POST['stu_registrationnumber'] 的结果是什么?如果您在工作台之类的工具中运行查询,您会收到 mysql 错误吗?我建议你自己做一些故障排除。最简单的方法是将var_dump 放在关键位置,以确保您没有使用意外的NULLs。
  • 是的,我也这样做,但仍然是 display.php 的空白页
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 2020-06-02
  • 1970-01-01
  • 2023-02-18
  • 1970-01-01
  • 2020-07-11
相关资源
最近更新 更多