php+mysql,新手上路。。问一个狂简单的问题
该如何得到一个FORM中提交上来的数据。并且如何对数据库进行查询?
假设我在一个页面中有一个叫‘name’的文本框,在输入名字后,点击按扭提交后,要对一个叫着USER 的表进行查询。。该如何对数据库进行操作。。如下的操作方式行吗?
$db=mysql_connect('10.11.11.112','root','');
mysql_select_db('heidunlog',$db);
$query="select * from user where name='".$_POST['name'];
$result=mysql_query($query,$db);
echo "<table border=1>\n";
echo "<tr><td>注册名</td><td>用户名</td><td>身份</td></tr>\n";
while($myrow=mysql_fetch_row($result)){
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n",$myrow[1],$myrow[2],$myrow[3]);
}
顺便在请问一下。。在PHP中。。如何指向另外一个页面!
问题点数:100、回复次数:7Top
1 楼rockypig(我是和乡民进来看热闹的 @@!)回复于 2005-03-09 14:50:05 得分 5
:( 赚不到了 PHP很不熟Top
2 楼Ropai(深受Microsoft毒害的)回复于 2005-03-09 14:59:14 得分 50
$db=mysql_connect('10.11.11.112','root','');
mysql_select_db('heidunlog',$db);
$query="select * from user where name='".$_POST["name"]."'";
$result=mysql_query($query,$db);
echo "<table border=1>\n";
echo "<tr><td>注册名</td><td>用户名</td><td>身份</td></tr>\n";
while($myrow=mysql_fetch_row($result)){
printf("<tr><td>%s</td><td>%s</td><td>%s</td></tr>\n",$myrow[1],$myrow[2],$myrow[3]);
}
Top
3 楼Ropai(深受Microsoft毒害的)回复于 2005-03-09 15:02:26 得分 0
就改了第三行,还有别忘了在最后加上 mysql_close($db);关闭数据库连接。
指向另一个页面: header("Location:another.php"); 转向another.phpTop
4 楼f2bx(笨笨熊)回复于 2005-03-09 15:02:49 得分 40
你的代码中有一些错误:
(1)$query="select * from user where name='".$_POST['name']; 这句语句最后少了个单引号'
应该是这样:
$query="select * from user where name='".$_POST['name']."'";
(2)PHP的数组下标是从0开始的,所以你的$myrow应该是从0开始,除非你不需要$myrow[0]的内容。
解答:
(1)你的思路没有错,但是最好还是在执行数据库操作之前能对递交过来的数据$_POST['name']进行有效性检查;
(2)在PHP中要自动跳转到某个页面可以用以下语句:
header('location:目标页面URL');
请注意在header语句之前不可以有任何的页面输出,包括空格Top
5 楼fyxw(7级乱射)回复于 2005-03-09 15:43:25 得分 5
建议你把mysql_fetch_row改成mysql_fetch_array,这样你的数组下标就用字段名都可以了,程序也好认了Top
6 楼lin513(东方求救)回复于 2005-03-09 16:07:34 得分 0
请问。。出现如下错误是怎么回事?
Invalid query: Unknown column 'name' in 'where clause'
因为那个NAME我设定的是INDEX.HTML里的一个文本框。再点击提交按纽时。调用了CONN.PHPTop
7 楼lin513(东方求救)回复于 2005-03-09 16:13:10 得分 0
问题已经解决。。谢谢各位帮忙。。Top




