php写的,显示一个学生成绩的页面,数据库连接成功,但是为啥显示不了数据,没找出问题,求解 5
<?phpsession_start();$sid=$_POST['sid'];@$db=newmysqli("localhost","sgrademangement",...
<?php
session_start();
$sid = $_POST['sid'];
@ $db = new mysqli("localhost","sgrademangement","");
if(mysqli_connect_errno())
{
echo "连接数据库失败";
}
$query = "select * from grade where sid = '".$sid."'";
$result = $db ->query($query);
$num_result = $result->num_rows;
?>
<body background="../images/bg.gif">
<form name="form1" method="post">
<table width="767" height="324" border="0" align="center">
<tr>
<td height="228" colspan="7" background="../images/top.gif"> </td>
</tr>
<tr>
<td height="22" colspan="7" background="../images/in_01.gif"></td>
</tr>
<tr>
<td>学号<//td>
<td>....</td>
</tr><?php for($i = 0; $i < $num_result; $i++) {
$row = $result->fetch_assoc();
?>
<tr>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sid']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sname']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sage']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['ssex']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sdept']); ?></td>
<td background="../images/in_20.gif"><a href="../delete.php">删除</a></td>
<td background="../images/in_20.gif"><a href="../change/grade.php"ss>修改</a></td>
</tr>
<?php }
$result->free(); $db->close();
?>
</table>
</form>
</body> 展开
session_start();
$sid = $_POST['sid'];
@ $db = new mysqli("localhost","sgrademangement","");
if(mysqli_connect_errno())
{
echo "连接数据库失败";
}
$query = "select * from grade where sid = '".$sid."'";
$result = $db ->query($query);
$num_result = $result->num_rows;
?>
<body background="../images/bg.gif">
<form name="form1" method="post">
<table width="767" height="324" border="0" align="center">
<tr>
<td height="228" colspan="7" background="../images/top.gif"> </td>
</tr>
<tr>
<td height="22" colspan="7" background="../images/in_01.gif"></td>
</tr>
<tr>
<td>学号<//td>
<td>....</td>
</tr><?php for($i = 0; $i < $num_result; $i++) {
$row = $result->fetch_assoc();
?>
<tr>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sid']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sname']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sage']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['ssex']);?></td>
<td background="../images/in_20.gif"><?php echo stripslashes($row['sdept']); ?></td>
<td background="../images/in_20.gif"><a href="../delete.php">删除</a></td>
<td background="../images/in_20.gif"><a href="../change/grade.php"ss>修改</a></td>
</tr>
<?php }
$result->free(); $db->close();
?>
</table>
</form>
</body> 展开
展开全部
new mysqli有4个参数
分别是数据库服务器、数据库登陆用户、数据库登陆密码、数据库名称
而你只给了3个参数
也就是,你没有选中数据库
本来是会出错的
但是你用@屏蔽了错误
分别是数据库服务器、数据库登陆用户、数据库登陆密码、数据库名称
而你只给了3个参数
也就是,你没有选中数据库
本来是会出错的
但是你用@屏蔽了错误
追问
可是4个参数连接不了,我就数据库服务器、名称、密码,但是还是上面问题
追答
那你总得选取一个数据库吧?
数据库上可以存在多个数据库,你不指定数据库,程序怎么知道你到底要操作那个数据库呢?你说是吧?
例外,如果你的数据字段sid是数字类型的话,把单引号去掉
如果是文本类型的,就不要去掉
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询