这段php代码错在哪里?哪位可以帮我看看吗?
我想做一个简单的查分网页,在index.php中输入学生姓名,如“陈*“,选择班级,点击查分,就可以查到该学生成绩。数据库已经建好,名称是chengji,里面有个表是re...
我想做一个 简单的查分网页,在index.php中输入学生姓名,如“陈*“,选择班级,点击查分,就可以查到该学生成绩。数据库已经建好,名称是chengji,里面有个表是results,表里有xuehao,xingming,banji,zongfen等字段,在mysql里运行查分select语句,可以查到正确结果,但是我做成2个网页,一个是index.php,另一个是chafendo.php,代码见附件,运行后总是出错,我试过很多次了,有时显示输入的xingming值和banji值,有些情况就显示不存在(我多次改过代码),我已经试了一个多星期了,总做不出来,不知道你有没有空帮我看看错在哪里,谢谢。
<?php
$_xingming=$_POST["xingming"];
$_banji=$_POST["banji"];
$conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("chengji",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
?>
</td>
</tr>
</table>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="150" height="37" valign="bottom" background="images/未标题-2_04.gif"><table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30"><div align="center" class="STYLE2">通告</div></td>
</tr>
</table></td>
<td height="388" rowspan="5" valign="top" background="images/未标题-2_05.jpg" border="1"><table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td class="STYLE3"><div align="center">学生成绩</div></td>
</tr>
</table>
<?php
$sql=mysql_query("select * from results where xingming='陈定' and banji='1'",$conn);
// $sql=mysql_query("select * from results where xingming=$_xingming and banji=$_banji",$conn);
$info1=mysql_fetch_array($sql);
// $total=$info1[total];
if($info1==0)
{
echo "暂无信息!";
}
else
{
?>
$sql1=mysql_query("select * from chengji where xingming='".$_xingming."' and banji='".$_banji."'",$conn);
$info1=mysql_fetch_array($sql1);
运行之后总显示 $info1=mysql_fetch_array($sql1);这句是错的,希望能给出正确代码,谢谢。 展开
<?php
$_xingming=$_POST["xingming"];
$_banji=$_POST["banji"];
$conn=mysql_connect("localhost","root","123456") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("chengji",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
?>
</td>
</tr>
</table>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="150" height="37" valign="bottom" background="images/未标题-2_04.gif"><table width="100" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="30"><div align="center" class="STYLE2">通告</div></td>
</tr>
</table></td>
<td height="388" rowspan="5" valign="top" background="images/未标题-2_05.jpg" border="1"><table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td class="STYLE3"><div align="center">学生成绩</div></td>
</tr>
</table>
<?php
$sql=mysql_query("select * from results where xingming='陈定' and banji='1'",$conn);
// $sql=mysql_query("select * from results where xingming=$_xingming and banji=$_banji",$conn);
$info1=mysql_fetch_array($sql);
// $total=$info1[total];
if($info1==0)
{
echo "暂无信息!";
}
else
{
?>
$sql1=mysql_query("select * from chengji where xingming='".$_xingming."' and banji='".$_banji."'",$conn);
$info1=mysql_fetch_array($sql1);
运行之后总显示 $info1=mysql_fetch_array($sql1);这句是错的,希望能给出正确代码,谢谢。 展开
6个回答
展开全部
运行后是这句是错误,说明Sql语句有问题~如果你在Sql中查询语句没问题,那就是字符连结的问题。
建议采用PHP转义字进行处理吧这样,结构看起来好些,也不容易出错。
错误在【".$_xingming."】,对于【'】号处理,需要使用【\'】这样好些
(1)使用【\'】转义
(2)使用【{ }】套接
$strSql = "
select * from chengji where xingming = '{$_xingming}' and banji = '{$_banji}'
";
$sql1=mysql_query($strSql, $conn);
建议采用PHP转义字进行处理吧这样,结构看起来好些,也不容易出错。
错误在【".$_xingming."】,对于【'】号处理,需要使用【\'】这样好些
(1)使用【\'】转义
(2)使用【{ }】套接
$strSql = "
select * from chengji where xingming = '{$_xingming}' and banji = '{$_banji}'
";
$sql1=mysql_query($strSql, $conn);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给出部分代码,看不出来结果...没啥错误呀..是不是你最后那段PHP词言,没有用开始结束标记?<?
$sql1=mysql_query("select * from chengji where xingming='".$_xingming."' and banji='".$_banji."'",$conn);
$info1=mysql_fetch_array($sql1);
?>
$sql1=mysql_query("select * from chengji where xingming='".$_xingming."' and banji='".$_banji."'",$conn);
$info1=mysql_fetch_array($sql1);
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
NND 这么长sql要那么多引号干嘛额/
("select * from chengji where xingming='$_xingming' and banji='$_banji' ",$conn)
直接这样就行了额
("select * from chengji where xingming='$_xingming' and banji='$_banji' ",$conn)
直接这样就行了额
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'".$_banji."'",$conn);
这中间的双引号。
这中间的双引号。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库发我,我帮你看看 191385668@qq.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询