从数据库中获取数据时出现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
}
?>
`
答案 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
准备好的陈述。