当前位置: 首页 > 知识库问答 >
问题:

无法使用表单输入上的PHP\u POST从MySQL数据库检索学生信息

卓星波
2023-03-14

我正在制作一个简单的Web应用程序,其中在我的数据库表之一有两列,ID和用户。

在一个html" target="_blank">文件中,我有一个输入名称的表单。然后,我希望使用_POST从表单接收输入,然后查询数据库以检索该姓名(学生)的信息,并与其他表中的数据连接。

问题是我总是从数据库中得到零结果。但是,如果我修改代码以_POST学生的ID,那么我将从数据库中获得结果。所以,我不明白为什么如果我使用表单输入名称而不是ID,它就不起作用。

这是我的表格:

 echo '<form name="postStudent" action="studentListCourses.php" method="post">';

    echo 'Name:<br>
        <input type="text" name="student">';

    echo '<input type="submit" value="save"/>';

echo '</form>';

然后在我使用的studentListCourses文件中:

$student = $_POST['student'];
    // $student = (string)$student;
    echo $student; 
    echo '<br>';

    // Query DB for selected student
    $Tusers_SQLselect = "SELECT * FROM users WHERE users.User='".$student."';"; 

但是我总是从数据库中得到零结果。如果我将查询中的最后一个子句更改为:

WHERE users.ID='".$student."';";

然后,假设我在表单中键入了一个有效的ID,我将从查询返回结果。为什么我不能通过在表单中键入有效名称来获得结果?

共有3个答案

卜泓
2023-03-14

这可能是因为您正在查询的列没有所需的数据。通过使用SELECT*OF用户手动选择记录,验证您是否拥有正确的数据。

还要检查数据是否没有任何垃圾字符。试试这个:

select user,HEX(user) from users where user like '%Abdur%'

作为旁注,您的代码容易受到SQL注入的攻击。您应该转义从$\u POST数组中读取的用户输入。

叶稳
2023-03-14

尽管在我发布我的新手问题之前搜索了至少一个小时的答案,我还是没能找到一个对我有帮助的答案。然而,我又重新开始搜索,在这篇帖子上找到了答案:

mysql为varchar字段选择不工作

显然,我的列数据中有前导空格或尾随空格。

再次感谢您在前面的回答中提到的有关SQL注入的旁注。

慕和惬
2023-03-14

它应该是:

$Tusers_SQLselect = "SELECT * FROM users WHERE users.User='$student'"; 

你不需要使用$学生,只要使用引号就可以了。

如果您的表列是用户,这将起作用。用户

提示:请记住防止MySQL注入。

 类似资料:
  • 我是mysql和php的初学者。在这个问题上陷入了困境。不知道问题出在哪里。但是如果我直接执行insert查询,它就会被执行,而如果我从用户那里接受它,它就不会被执行(代码中显示了这一点)。可能问题出在我用来检索用户提交的值的$\u POST[]方法上。我已经提交了两个代码,addbooks。php(用户提交值的表单)和add。php(插入数据库)。

  • 我想从数据库中检索名称。但我总是收到错误: 数据库Java语言 它不断返回错误 android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为1,字符串名称=helper.getProductNameT(cur); 有人知道我的编码哪里出错了吗?

  • 我已经创建了一个简单的注册系统,它可以按预期工作,尽管我想让用户在注册时从下拉菜单中选择一个值,例如男性或女性。然后,在数据库中可以区分该用户是男性还是女性,以及他们的用户名和密码。我使用一个简单的php下拉菜单从中选择数据。 我想知道如何在我的注册系统中实现这一点,允许用户在注册时从下拉菜单中选择性别,并将其与用户名和密码一起插入数据库。谢谢 HTML- PHP-

  • form action=“reg”method=“post”accept-charset=“ISO-8859-1,UTF-8;q=0.5”enctype=“application/x-www-form-urlencoded”name=“form1”id=“form1” ^-------起作用了 如果表单动作=“reg”method=“post”accept-charset=“iso-8859-1”

  • 如何将数据从Jsp表单检索到java控制器类(输入字段的名称从数据库表检索)。 我试着用方法,但在从jsp文件中的数据库表检索数据时,我无法在此方法中指定字段的特定名称 这是Jsp文件的图像,我试图从中将数据导入控制器类。形象

  • 有没有人知道我可以使用PHP从MySql数据库中的两个表中获取数据的方法?我的android应用程序允许用户在购物车(MySql中的表)中放置物品。当用户点击应用程序中的购物车按钮时,它会加载“购物车activity”,并根据“会话ID”或“客户ID”(如果他们已经登录)加载一个列表视图,其中包含他们添加到购物车中的所有内容。我现在所做的是,当项目被添加到购物车时,我捕获产品ID、产品名称、图像U