<html>
<head>
<title>员工信息综合查询系统</title>
</head>
<body>
<div align="center"><b>员工信息综合查询系统 Powered by iRoaming eAssistant</b></div>
<p>请输入您的工号来查询2009年度考评成绩!</p>
<form action=<?php echo $_SERVER['PHP_SELF']; ?> method=post>
工号:<input type="text" name="snum">
<input type="submit" name="submit" value="查询">
<input type="reset" name="submit2" value="重新输入">
</form>
<?php
global $PHP_SELF;
global $snum;
$dbcnx=@mysql_connect("localhost",root,abcde);
mysql_select_db($smac,$mysql);
$snum=$_POST['snum'];
$query=mysql_query('SELECT * FROM sheet WHERe snum=".$snum."');
while($row=mysql_fetch_object($query))
{
?>
<table>
<tr height="20">
<td width="25%">工号</td>
<td width="25%">姓名</td>
<td width="25%">年龄</td>
<td width="25%">09年度考评成绩</td>
</tr>
<tr>
<td width="25%"><?=$row->snum?></td>
<td width="25%"><?=$row->name?></td>
<td width="25%"><?=$row->age?></td>
<td width="25%"><?=$row->mark09?></td>
</tr>
</table>
<?
}
?>
</body>
说明:我想做一个查询系统,数据库名为smac,表名为sheet,里面有4个field:snum,name,age,mark09
现在希望点击submit按钮后出来结果(输入工号snum),可程序没报错但查询结果就是出不来 phpmyadmin里是正常的
请问我代码哪里出错了?谢谢!
我测试了一下 把$result=mysql_query('SELECt * FROM sheet WHERe snum=$snum');删除为$result=mysql_query('SELECt * FROM sheet'); 可以把表的全部结果显示出来 也就是说数据库连接成功的, 是不是我这句查询的语句写的不对呢?
PHP+MYSQL查询代码问题
答案:4 悬赏:30
解决时间 2021-04-08 04:54
- 提问者网友:晨熙污妖王
- 2021-04-07 23:27
最佳答案
- 二级知识专家网友:专属的偏见
- 2021-04-07 23:35
我把你代码修改了一部分你替换下你类似的代码试试吧 应该没有问题了
<?php
$link = mysql_connect("localhost", "root", "123456");
//localhost 数据库地址
//root 数据库用户名 123456 数据库密码
mysql_select_db("mydatabase");
//mydatabase 数据库名 就是你说的那个smac
?>
<table>
<tr height="20">
<td width="25%">工号</td>
<td width="25%">姓名</td>
<td width="25%">年龄</td>
<td width="25%">09年度考评成绩</td>
</tr>
<?php
while($row=mysql_fetch_object($query))
{
?>
<tr>
<td width="25%"><?=$row['snum']?></td>
<td width="25%"><?=$row['name']?></td>
<td width="25%"><?=$row['age']?></td>
<td width="25%"><?=$row['mark09']?></td>
</tr>
<?php
}
mysql_close($link);//这个至关重要必须要关闭
?>
</table>
<?php
$link = mysql_connect("localhost", "root", "123456");
//localhost 数据库地址
//root 数据库用户名 123456 数据库密码
mysql_select_db("mydatabase");
//mydatabase 数据库名 就是你说的那个smac
?>
<table>
<tr height="20">
<td width="25%">工号</td>
<td width="25%">姓名</td>
<td width="25%">年龄</td>
<td width="25%">09年度考评成绩</td>
</tr>
<?php
while($row=mysql_fetch_object($query))
{
?>
<tr>
<td width="25%"><?=$row['snum']?></td>
<td width="25%"><?=$row['name']?></td>
<td width="25%"><?=$row['age']?></td>
<td width="25%"><?=$row['mark09']?></td>
</tr>
<?php
}
mysql_close($link);//这个至关重要必须要关闭
?>
</table>
全部回答
- 1楼网友:木子香沫兮
- 2021-04-08 02:57
把这个mysql_select_db($smac,$mysql);
改成 mysql_select_db("smac",$dbcnx);
- 2楼网友:冷眼_看世界
- 2021-04-08 01:22
这位仁兄,你好!
1:$dbcnx=@mysql_connect("localhost",root,abcde);
2:mysql_select_db($smac,$mysql);
第1句,连接到数据库服务器,你是正确的,如果连接上了。$dbcnx就返回一个true。返回真就是要告诉第2句,数据库已经连接上了。
因为第2句,第一个参数,要知道数据库的名称,第二个参数要知道,是否已经成功连接到数据库服务器。所以你的写法有点问题。因为你的数据库名称为smac
这是一个字符串,而不是一个变量
3:mysql_select_db(smac,$dbcnx);
以上这种写法就正确了。
还有给你个建议写法
$dbcnx=@mysql_connect("localhost",root,abcde) or die ("连接主机失败");
mysql_select_db(smac,$mysql) or die ("选择数据库失败");
这样,如果一句有问题,就会直接提示你,到底是哪里出现了问题,就可以一目了然了。
还有就是,如果不确定哪句有问题,就直接将该句echo 一下,看是不是你想要得到的结果,这是最基本的错误调试方法。
是你想要的答案吧!
- 3楼网友:茫然不知崩溃
- 2021-04-08 01:02
mysql_select_db($smac,$mysql);
你的$smac有定义么?你的$mysql有定义么?
这位哥们儿/姐们儿,请检查清楚。。。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯