我用的是WAMP5,用phpmyadmin可以连接数据库并正常操作,但是在php里就不行,怎么回事啊?我新手。连接代码如下:
$conn =mysql_connect("localhost", "root", "") or die("数据库链接错误");
$result=mysql_select_db("info", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
if($result){echo "建立完成";
}else{echo "建立错误".mysql_error();}在另一个php文件中插入数据代码如下:
<?php
/*
 * Created on 2011-6-9
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 include("conn.php");
 
 if($_POST['submit']){
   $sql="insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
     mysql_query($sql);
     echo "成功";
 }
   
 
 ?>
 
  <form action="add_user.php" method="post">
  
  用户:<input type="text" name="user_name" /><br/>
  
  密码:<input type="text" name="PW" /><br/>
  <input type="submit" name="submit" value="登陆"/>
  
  </form>既不显示连接成功也不显示错误,这怎么回事啊?

解决方案 »

  1.   

    include语句前加上下面一句,看看输出什么错误信息:
    error_reporting(E_ALL);另外,代码中这一句显然有问题:
    $sql="insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
    //↓
    $sql="insert into test (id,user,password) values('','$_POST[\"user_name\"]','$_POST[\"PW\"]')";
      

  2.   

    数据库用户名密码对不?
    有对应的库和表吗?
    可以echo下$conn,$result看看库有没有连上。
    还有你的变量名$conn和文件名同名,可能会有问题
      

  3.   

    id如果是auto increment的话就不用为null了,如果是not null的话你这插入语句可能有问题。如版主所说,你那个取$_POST中,放的应该是""括起来的字符串。而且,使用完了之后,数据库连接木有关闭。我是新手,有什么不对的地方,请大家纠正。
      

  4.   

    在php.ini中设置error_reporting  =  E_ALL,display_errors = On或者再加上error_log =……。查看什么错误。
      

  5.   

    我觉得sql语句应该没有问题。假如把sql改成$sql="insert into test (id,user,password) values('','$_POST[\"user_name\"]','$_POST[\"PW\"]')";的话,在机器上显示错误:
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING。
    如果不改的话,就没有问题。
      

  6.   

    数据库连接文件应该没问题吧。你单独运行下数据库的连接文件、、
       问题估计处在你的'".$_POST[user_name]."'上了。   ser_name要加单引号。PW也是同理、、改一下,试试看。还有你的mysql_query($sql) 这么写好像是不对的。、
      你改成$sel=mysql_query("select * from test where user='".$_POST['user_name']."' and password=$_POST['PW']");
        $rows=mysql_num_rows($sel);
    if($rows!=0)
      {
    echo "<script>alert('插入成功');history.go(-1)</script>";
    exit();
    }
      else {
       echo "<script>alert('插入失败');history.go(-1)</script>";
       exit();
       }  我也是新手,没学多长时间、、仅个人建议,你试试、、
      

  7.   

    你注意是不是那个插入时那个属性顺序是不是错了insert into test (id,user,password) values('','$_POST[user_name]','$_POST[PW]')";
     就是  id user password的顺序 
      

  8.   

    1、错误信息
    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
    是编译时刻错误,表示你的串中有语法错误,与运行无关
    2、你说没有显示,是否包括 建立完成 ?
    3、提交后才会有数据库操作,你提交了吗?
      

  9.   

    多谢大家热心的帮助,问题已解决。最近要用php,刚学不太懂 。