mysql_fetch_array()不使用Session用户名显示数据

时间:2015-02-06 15:24:16

标签: php mysql sql forms fetch

从数据库中获取数据时出现mysql_fetch_array()错误。我已经在phpmyadmin尝试SQL,查询工作得很好。但是当打开php页面时,查询无效。我不知道是什么原因。页面上没有显示错误。页面上没有显示数据,只有表格。

仅供参考,这些代码适用于家长查看特定学生记录(他们的孩子)。我使用会话用户名指定用户。

提前感谢!

`

<table border="1" width="1050px" align="center" cellpadding="3" class="mytable" cellspacing="0">
    <tr>
        <th>No</th>
        <th>Student ID</th>
        <th>Student Name</th>
        <th>Gender</th>
        <th>Date of Birth</th>
        <th>Parent's Name</th>
        <th>Parent's IC</th>
        <th>Address</th>
        <th>Phone</th>
        <th>E-mail</th>
        <th>Class</th>
        <th colspan="2">Update</th>
    </tr>

<?php
$sql_parent=mysql_query("SELECT stu_id,stu_name,gender,dob,parent_name,parent_ic,address,phone,email,class_name FROM stu_tbl A, users_tbl B WHERE A.parent_ic = B.icnum AND B.username =  '.$_SESSION[username]'");
if($sql_parent === FALSE) { 
die('could not get data'.mysql_error()); }

$i=0;
while($row=mysql_fetch_array($sql_parent)){
$i++;
$color=($i%2==0)?"lightblue":"white";
?>
  <tr bgcolor="<?php echo $color?>">
        <td><?php echo $i;?></td>
        <td><?php echo $row['stu_id'];?></td>
        <td><?php echo $row['stu_name'];?></td>
        <td><?php echo $row['gender'];?></td>
        <td><?php echo $row['dob'];?></td>
        <td><?php echo $row['parent_name'];?></td>
        <td><?php echo $row['parent_ic'];?></td>
        <td><?php echo $row['address'];?></td>
        <td><?php echo $row['phone'];?></td>
        <td><?php echo $row['email'];?></td>
        <td><?php echo $row['class_name'];?></td> 
        <td><a href="?tag=parent_update&opr=upd&rs_id=<?php echo $row['stu_id'];?>" title="Update"><img src="picture/update.png" /></a></td>
      </tr>
       <?php    
}
?>

`

2 个答案:

答案 0 :(得分:0)

查询错误

SELECT stu_id,stu_name,gender,dob,parent_name,parent_ic,address,phone,email,class_name FROM stu_tbl A, users_tbl B WHERE A.parent_ic = B.icnum AND B.username =  '.$_SESSION[username]'

我不知道$ _SESSION变量中有什么,但是串联错误无论如何都是错误的

答案 1 :(得分:0)

该查询如何不给您PHP错误?你必须在一个字符串中用花括号包装一个数组,你需要在数组键周围加上引号。它应该是这样的:

"SELECT stu_id,stu_name,gender,dob,parent_name,parent_ic,address,phone,email,class_name FROM stu_tbl A, users_tbl B WHERE A.parent_ic = B.icnum AND B.username = '{$_SESSION['username']}'"

此外,您还需要$_SESSION之前的一段时间。

注意:您的查询不安全。不推荐使用mysql_*。您应该使用mysqli_PDO准备好的陈述。