$query="insert into temp (name,xingzhi,charge,post) values ('$name','$xingzhi','$charge','$post')";->$query="insert into temp (name,xingzhi,charge,post) values ('$_POST[name]','$_POST[xingzhi]','$_POST[charge]','$_POST[post]')";用$_POST

解决方案 »

  1.   

    $result = mysql_query("$query",$link);
    另外,判断方式不太规范
    @是什么?
    -------------------------------------------------
    mysql_query -- 发送一条 MySQL 查询
    说明
    resource mysql_query ( string query [, resource link_identifier] )
    mysql_query() 向与指定的连接标识符关联的服务器中的当前活动数据库发送一条查询。如果没有指定 link_identifier,则使用上一个打开的连接。如果没有打开的连接,本函数会尝试无参数调用 mysql_connect() 函数来建立一个连接并使用之。查询结果会被缓存。 注: 查询字符串不应以分号结束。 mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。非 FALSE 的返回值意味着查询是合法的并能够被服务器执行。这并不说明任何有关影响到的或返回的行数。 很有可能一条查询执行成功了但并未影响到或并未返回任何行。 以下查询语法上有错,因此 mysql_query() 失败并返回 FALSE: 例子 1. mysql_query() 例子<php
    $result = mysql_query("SELECT * WHERE 1=1")
        or die("Invalid query: " . mysql_error());
    ?>  
     
    以下查询当 my_col 并不是表 my_tbl 中的列时语义上有错,因此 mysql_query() 失败并返回 FALSE: 例子 2. mysql_query()<?php
    $result = mysql_query("SELECT my_col FROM my_tbl")
        or die("Invalid query: " . mysql_error());
    ?>  
     
    如果没有权限访问查询语句中引用的表时,mysql_query() 也会返回 FALSE。
      

  2.   

    我把add.php改成如下:
    <!--这是文件add.php>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>提交</title>
    </head>
    <body>
    <?php$link = mysql_connect("host","web31","822011")
           or die("无法连接到数据库,错误信息: " . mysql_error());
       print ("成功地连接到数据库!");
       
    mysql_select_db("web31", $link) or die("不能连接到指定的 数据库");if (! @mysql_select_db("web31") ) 
    {
    echo( "<P>Unable to locate the Databases " .
    "database at this time.</P>" );
    exit();
    }$query="insert into temp (name,xingzhi,charge,post) values ('$_POST[name]','$_POST[xingzhi]','$_POST[charge]','$_POST[post]')";
    $result = mysql_query("$query","$link")or die("Invalid query: " . mysql_error());
    if(mysql_affected_rows()==1)
    {
    echo "$name 已经成功加入数据库!<Br>";
    }
    else echo "系统出了故障,请联系我们!";mysql_close($link);?>
    </body>
    </html>还是不行啊,浏览器上还是显示一片空白.
      

  3.   

    jom_ch(phpoop),我不太知你在说什么,是要加上这两句吗?echo $query; 这句什么用啊?
      

  4.   

    加在$query="insert into temp (name,xingzhi,charge,post) values ('$_POST[name]','$_POST[xingzhi]','$_POST[charge]','$_POST[post]')";这句的后面
    看看打印出什么,
      

  5.   

    那就是你的数据库连接有问题
    这个地方
    if (! @mysql_select_db("web31") ) 
    {
    echo( "<P>Unable to locate the Databases " .
    "database at this time.</P>" );
    exit();
    }就结束程序了,
      

  6.   

    我把exit();去掉结果一样.再把if (! @mysql_select_db("web31") ) 这一段注释掉也一样.真是够晕啊~~~
      

  7.   

    终于被我发现了,
    <!--这是文件add.htm>这句改成<!--这是文件add.htm-->
      

  8.   

    谢谢jom_ch(phpoop)如此的耐心帮助,这句<!--这是文件add.htm>在我那里是没有的,只是我在这里问问题为了说得更加清楚加上去的.应该不是那里的问题.要不你写出实现类似功能的代码,我自己对比着看能不能找到答案.
      

  9.   

    <?php
    SESSION_START();
    if(isset($_GET['action'])&&$_GET['action']=="login"){
    include_once('../includes/mysql.inc.php');
    include_once('../includes/func.inc.php');
    $u=$_POST['uid'];
    $p=$_POST['pwd'];
    if($u==""||$p==""){
    echo "用户名或密码为空!";
    exit;
    }
    $db->connect($config["dbserver"],$config["dbuser"],$config["dbpassword"]);
    $db->query("set names utf8");
    $db->select_db($config["dbname"]);
    $login_query="select * from admin_user where a_user=\"".$u."\" and a_pass=\"".md5($p)."\"";
    $res=$db->query($login_query);
    if($row=$db->fetch_array($res)){
    $_SESSION['admin']=$row['a_user'];
    echo "<script language='javascript'>self.location='admin.php?action=logined'</script>";
    exit; }
    else
    echo "错误的用户名或密码!<a href='index.php'>返回</a>";
    }else{
    ?><html>
    <head>
    <title>管理登录</title>
    <link href="../includes/cv.css" rel="stylesheet" type="text/css">
    </head>
    <body>
    <table align="left" border=1 cellpadding=2 cellspacing=0 bordercolordark="#f7f7f7" bordercolorlight="#cccccc">
    <form action="<?php echo $PHP_SELF ?>?action=login" method="post" name="form1">
    <tr>
    <td>
    <table><tr><td>
    用户名:<input type="text" size=10 name="uid" class='input1'>&nbsp;&nbsp;
    密&nbsp;&nbsp;码:<input type="password" size=10 name="pwd" class='input1'>&nbsp;&nbsp;
    <input name="submit" type="submit" value="登录">
    </td></tr>
    </table>
    </td>
    </tr>
    </form>
    </table>
    </body>
    </html><?php
    }
    ?>
      

  10.   

    什么都不显示还有一种情况就是编码的问题你点查看/编码/,换成gb2312或utf-8试一下
      

  11.   

    $result = mysql_query("$query","$link")or die("Invalid query: " . mysql_error());
    改成 
    $result = mysql_query($query,$link)or die("Invalid query: " . mysql_error());
    看下
    我在写的时候都不加双引号
      

  12.   

    把if(!$result) 
    {
       echo 'zhoujian'; 
    }
      else
    {
       echo "$name 已经成功加入数据库!"; 
    }
    去掉
      

  13.   

    谢谢大家的帮助,最近比较忙,没有上来过,问题已经解决了.基本都是大家所指出的错误了$query="insert into temp (name,xingzhi,charge,post) values ('$name','$xingzhi','$charge','$post')";->$query="insert into temp (name,xingzhi,charge,post) values ('$_POST[name]','$_POST[xingzhi]','$_POST[charge]','$_POST[post]')";用$_POST$result = mysql_query("$query","$link")or die("Invalid query: " . mysql_error());
    改成 
    $result = mysql_query($query,$link)or die("Invalid query: " . mysql_error());
    看下
    我在写的时候都不加双引号另外,php 5.0版本以上当表格输入空格是,会有警告出现,数据也没有正确输入,只要加mysql_query("SET sql_mode=''");即可.还有我曾经把$_POST[name]写成$POST_[name]也会产生错误.本人是初学者,难免会出这些小错误,谢谢大家的帮助.