2016-07-15 32 views
-2

我想从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> 
+0

它看起来像'$ _GET ['sNumber']'从不会导致您的查询失败,但老实说在这个脚本中可能会出错。还有谷歌PDO。 – bassxzero

+0

@bassxzero谢谢。我会考虑PDO – kaydrae

+0

请[不要使用'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)。您需要使用准备好的语句(并正确使用它们)。在这个脚本中有很多事情需要解决。 –

回答

2

URL使用id但你sNumber改变检查的那些

您需要引用在学生头号查询为其字符串

$getStudentInfo = "SELECT sNumber FROM student WHERE student.sNumber ='". $student_sNumber."'"; 
+0

我将id更改为sNumber,但它不起作用。 – kaydrae

+0

页面(studentprofile.php)网址显示什么? – 2016-07-15 02:09:09

+0

它说错误“学生数据无法列出” – kaydrae