我想从sNumber打开一个新的php页面,并从sNumber的学生档案页面上显示学生表中的数据。但我无法检索数据,它正确的错误。任何帮助将不胜感激。由于信息没有显示我的MySQL数据库
studentlist.php
<div class="memtable">
<?php
$reload = $_SERVER['PHP_SELF'] . "?tpages=" . $tpages;
echo '<div class="pagination"><ul>';
if ($total_pages > 1) {
echo paginate($reload, $show_page, $total_pages);
}
echo "</ul></div>";
// display data in table
echo "<table class='table table-bordered'>";
echo "<thead><tr><th>Last Name</th> <th>First Name</th> <th>School</th> <th>Snumber</th></tr></thead>";
// loop through results of database query, displaying them in the table
for ($i = $start; $i < $end; $i++) {
// make sure that PHP doesn't try to show results that don't exist
if ($i == $total_results) {
break;
}
// echo out the contents of each row into a table
$lastName = "<a href = 'studentprofile.php?id= " .mysql_result($result, $i, 'sNumber'). "'>" . mysql_result($result, $i, 'lastName') . "</a>";
echo "<tr " . $cls . ">";
echo '<td>' . $lastName . '</td>';
echo '<td>' . mysql_result($result, $i, 'firstName') . '</td>';
echo '<td>' . mysql_result($result, $i, 'school') . '</td>';
echo '<td>' . mysql_result($result, $i, 'sNumber') . '</td>';
echo "</tr>";
}
// close table>
echo "</table>";
// pagination
?>
</div>
studentprofile.php
<?php
include('phpdocs/connect.inc.php');
include('header.php');
if (isset($_GET[ "sNumber" ]))
$student_sNumber = $_GET['sNumber'];
$getStudentInfo = " SELECT sNumber FROM student WHERE student.sNumber = " . $student_sNumber;
?>
<!DOCTYPE html>
<html>
<head>
<title>Student</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="transoverlay">
<?php
if ($result = mysql_query($getStudentInfo)) {
/* fetch associative array */
while ($row = mysql_fetch_assoc($result)) {
echo "<h1 class='tv'>" . $row["sNumber"]. ", ". $row['firstName']."</h1>";
}
mysql_free_result($result);
}else{
echo "<div class='tv'>Student Data could not be listed. </div>";
}
?>
<hr color="#1a1a1a">
</div>
</body>
<?php include('footer.php');?>
</html>
它看起来像'$ _GET ['sNumber']'从不会导致您的查询失败,但老实说在这个脚本中可能会出错。还有谷歌PDO。 – bassxzero
@bassxzero谢谢。我会考虑PDO – kaydrae
请[不要使用'mysql_ *'](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1) ; 'mysql_ *'函数已过时,[已弃用](http://us3.php.net/manual/en/intro.mysql.php),并且不安全。使用['MySQLi'](http://us3.php.net/manual/en/book.mysqli.php)或['PDO'](http://us3.php.net/manual/en/intro。相反,pdo.php)。另外,你可以[** SQL注入**](https://www.owasp.org/index.php/SQL_Injection)。您需要使用准备好的语句(并正确使用它们)。在这个脚本中有很多事情需要解决。 –