Chinaunix

标题: 紧急求援军!about php&mysql [打印本页]

作者: tonera    时间: 2003-05-23 09:01
标题: 紧急求援军!about php&mysql
各位好:
    我已经在这个问题上转了三天了,还是百思不得其解:
在PHP网页中输入数据后,由mysql_db_query()送到Mysql,结果返回正确插入。但用displqy.php却不能显示出表中的数据。症状是有表格,有记录,但字段中无数据。全部代码如下:



\\pre_inc.php代码
<p>;<FONT SIZE="+3" color="#33cc66">;网上地址簿</FONT>;</p>;
<?php
$username='address';
$passwd="address";
$db_name='baby_db';
$table_name='address';
$link_message=@mysql_connect('localhost',$username,$passwd);
if (!$link_message)
    {echo "对不起,数据库连接错误!";
    exit();
    }
?>;


\\add_form.php代码
<html>;
<head>;
<title>;增加联系人>;</title>;
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html";charset="gb2312">;
</head>;
<body bgcolor="#ffffff" TEXT="#000000">;
<?php
require('pre_inc.php');
?>;
<p>;<b>;<FONT size="2">;插入数据</FONT>;</b>;</p>;
<form NAME="form1" METHOD="post" action="add_action.php">;
<!在action中指定表单处理程序>;
<p>;姓名:
    <input TYPE="text" NAME='name'>;
</p>;
<p>;地址:
    <input TYPE="text" NAME='address'>;
</p>;
<p>;电话:
    <input TYPE="text" NAME='tel'>;
</p>;
<p>;生日:
    <input TYPE="text" NAME='bir'>;
</p>;
<p>;最近会面的日期:
    <input TYPE="text" NAME='recent_date'>;
</p>;
<p>;说明:
    <textarea NAME='more'>;</textarea>;
</p>;<p>;&amp;</p>;
<p>;
    <input type="submit" NAME="submit" VALUE="提交">;
    <input TYPE="reset" NAME="submit2" VALUE="重置">;
</p>;
</form>;
</body>;
</html>;



\\add_action.php代码
<?php
require('pre_inc.php');
$char_sql="
insert into $table_name
(name
,address
,tel
,bir
,recent_date
,more
)values
('$name'
,'$address'
,'$tel'
,'$bir'
,'$recent_date'
,'$more'
);";
$result=mysql_db_query($db_name,$char_sql,$link_message);
if (!$result){
    echo '<p>;数据库插入失败</p>;';
    echo "<a href=add_form.php>;请点击这里返回重新输入!</a>;";
    }else{
     echo '<p>;数据成功插入!</p>;';
     echo "<a href=add_form.php>;请点击这里返回继续插入!</a>;";
    }
?>;


<?php
require('pre_inc.php');
?>;
<TABLE border="1" cellpadding="4" cellspacing="0">;
  <TR>;
    <TH>;联系人编号</TH>;
    <TH width=100>;姓名</TH>;
    <TH width=100>;电话</TH>;
    <TH width=100>;地址</TH>;
    <TH>;生日</TH>;
    <TH>;最近会面日期</TH>;
    <TH>;更多的说明</TH>;
  </TR>;
<?php
  $char_sql="select * from $table_name where mark_deleted='N'";
  $result=@mysql_db_query($db_name,$char_sql,$link_message);
  $rows_number=@mysql_num_rows($result);

  for ($index=0;$index<$rows_number;$index++)
   {
    $record=@mysql_fetch_object($result);
    require('display_a_recorder.php');
   }
?>;
</TABLE>;


\\display_a_recorder.php代码
<TR>;
  <TD>;<?php echo $record->;id ?>;</TD>;
  <TD>;<?php echo $record->;name ?>;</TD>;
  <TD>;<?php echo $record->;tel ?>;</TD>;
  <TD>;<?php echo $record->;address ?>;</TD>;
  <TD>;<?php echo $record->;bir ?>;</TD>;
  <TD>;<?php echo $record->;recent_date ?>;</TD>;
  <TD>;<?php echo $record->;more ?>;</TD>;
</TR>;
作者: tonera    时间: 2003-05-23 18:43
标题: 紧急求援军!about php&mysql
各位老大:

    怎么都不理我这个问题?????
    我好急!!!
作者: judite    时间: 2003-05-23 19:10
标题: 紧急求援军!about php&mysql
原帖由 "tonera" 发表:
各位好:
    我已经在这个问题上转了三天了,还是百思不得其解:
在PHP网页中输入数据后,由mysql_db_query()送到Mysql,结果返回正确插入。但用displqy.php却不能显示出表中的数据。症状是有表格,有记录,但字?.........

嗯,我觉得是你的代码有点问题。
insert数据之后,假如执行正确,会提示1 row affected;假如失败,会提示0 row affected。对mysql_query函数来说,这两种情况都为真,所以你得到现在的结果是正常的。
作者: tonera    时间: 2003-05-24 09:26
标题: 紧急求援军!about php&mysql
原帖由 "judite" 发表:

嗯,我觉得是你的代码有点问题。
insert数据之后,假如执行正确,会提示1 row affected;假如失败,会提示0 row affected。对mysql_query函数来说,这两种情况都为真,所以你得到现在的结果是正常的。


那为什么用display.php可以显示出记录已存在。在Mysql命令行模式下也可以显示出记录已存在。
晕倒!
作者: tonera    时间: 2003-05-24 14:19
标题: 紧急求援军!about php&mysql
心得:
一定要在php.ini中设定register_globals = On
否则表单中的数据无法以字段名作为变量被PHP程序正确引用。

还是要谢谢楼上各位的关心了。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2