Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
从php MySQL数据库获取数据不工作_Php_Mysql_Database - Fatal编程技术网

从php MySQL数据库获取数据不工作

从php MySQL数据库获取数据不工作,php,mysql,database,Php,Mysql,Database,我让我的表单工作得很好,并从数据库中获取数据。但是最近我修改了登录页面中的一些内容,以便将不同的页面分配给不同的用户,一旦他们成功登录,现在我就不会在studentloggedin.php中显示他们的数据(结果)。提前感谢 我认为问题在于我假设的变量 studentloggedin.php <?php //code for display marks $con=mysqli_connect("localhost","kurtfarrugia","1234","kurt_farrugia"

我让我的表单工作得很好,并从数据库中获取数据。但是最近我修改了登录页面中的一些内容,以便将不同的页面分配给不同的用户,一旦他们成功登录,现在我就不会在studentloggedin.php中显示他们的数据(结果)。提前感谢

我认为问题在于我假设的变量

studentloggedin.php

<?php
//code for display marks

$con=mysqli_connect("localhost","kurtfarrugia","1234","kurt_farrugia");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM tblexamresults WHERE admin_usr_name ='$username'");

while($row = mysqli_fetch_array($result))
{
echo "English: " . $row['english'] . " marks";
echo "<br />";
echo "<br />";
echo "Maltese: " . $row['maltese'] . " marks";
echo "<br />";
echo "<br />";
echo "Italian: " . $row['italian'] . " marks";
echo "<br />";
echo "<br />";
echo "PSE: " . $row['pse'] . " marks";
echo "<br />";
echo "<br />";
echo "Social Studies: " . $row['social_studies'] . " marks";
echo "<br />";
echo "<br />";
echo "Physical Education: " . $row['physical_education'] . " marks";
echo "<br />";
echo "<br />";
echo "Drama: " . $row['drama'] . " marks";
echo "<br />";
echo "<br />";
echo "Graphical Communication: " . $row['graphical_communication'] . " marks";
echo "<br />";
echo "<br />";
echo "Computer Studies: " . $row['computer_studies'] . " marks";
echo "<br />";
echo "<br />";
echo "Mathematics: " . $row['mathematics'] . " marks";
echo "<br />";
echo "<br />";
echo "Integrated Science: " . $row['integrated_science'] . " marks";
echo "<br />";
echo "<br />";
echo "Physics: " . $row['physics'] . " marks";
echo "<br />";
echo "<br />";
echo "<br />";

$total = $row['english'] + $row['maltese'] + $row['italian'] + $row['pse'] +       $row['social_studies'] + $row['physical_education'] + $row['drama'] + $row['graphical_communication'] + $row['computer_studies'] + $row['mathematics'] + $row['integrated_science'] + $row['physics'];

$average= $total / 11;

echo "Statistics:"; 
echo "<br />";
echo "<br />";  
echo "Your average mark is: " . round($average, PHP_ROUND_HALF_UP) . " marks";
}

mysqli_close($con);
?>  

您的SQL查询中的变量
$username
从未设置

$result = mysqli_query($con,"SELECT * FROM tblexamresults WHERE admin_usr_name ='$username'");
也没有在URL中传递

header( "Location: studentloggedin.php" );

您应该将用户名输入URL,并获取执行查询所需的值。

不要试图猜测问题出在哪里。调试代码以清楚地确定问题的确切位置。检查PHP错误日志,并在每次调用
mysql\u query()
后检查
mysql\u error()
。如果仍然注入SQL,则没有理由使用
mysqli
。仔细研究,这样人们就不能将他们想要的任何东西注入到你的代码中。你指的是什么url?这是一个标题(“location:studentloggedin.php”);但我认为,正如您已经做的那样,将用户名放入会话中,在studentloggedin.php中调用会话_start(),并从会话(而不是从帖子)中获取学生用户名,解决了问题。将变量username分配给my studentloggedin.php页面。谢谢大家!
$result = mysqli_query($con,"SELECT * FROM tblexamresults WHERE admin_usr_name ='$username'");
header( "Location: studentloggedin.php" );