把你的SQL语句弄到一行里试下。

解决方案 »

  1. 有可能是字符编码问题
    $db->set_charset("这里设置一下");
      

  2. echo $username=$_POST['username'];有没有东西显示?
      

  3. <?php
    $username=$_POST['username'];
    $pwd=$_POST['pwd'];
    $repeat_pwd=$_POST['repeat_pwd'];
    $name=$_POST['name'];
    $email=$_POST['email'];if (!empty($username))  {
        $db = @new mysqli("localhost","root", "","userdb");
        if (mysqli_connect_errno())  {
            echo "数据库连接失败!<br>\n";
            echo mysqli_connect_error();
            exit;
        }
    $sql = "INSERT INTO usertable (username,pwd,name,email) VALUES";
    $sql .= "('$username', '$pwd', '$name', '$email')";
    $rs = $db->query($sql);
    if(!$rs)  {
        $db->close();
        echo '数据记录插入失败!';
        exit;
    }
        echo "<font color='red' size='4'>恭喜您注册成功!</font><br>\n";
        $db->close();
    }
    ?>
      

  4. 发错了,不好意思在程序前面加一句error_reporting(E_ALL );ini_set('display_errors',1);
    然后把@new mysqli前面的@去掉,再运行看看,有没有报错
      

  5. 你的数据库连接语句怎么写的?
    <?php
        mysql_connect("localhost", "mysql_user", "mysql_password") or
            die("Could not connect: " . mysql_error());
        mysql_select_db("mydb");    mysql_query("INSERT INTO mytable (product) values ('kossu')");
        printf ("Last inserted record has id %d\n", mysql_insert_id());
    ?> 
    用这种写法看看
      

  6. <html>
    <head><title>连接测试</title></head>
    <body>
    <table>
    <form method="POST">
    数据库连接小程序<br>
    连接主机:<input type="text" name="host" ><br>
    数据库账号:<input type="text" name="user"><br>
    连接密码:<input type="password" name="password"><br>
    <input type="submit" value="连接">
    </form>
    </table><?php
    try {
    $dbc=new PDO("mysql:host=$_POST[host];dbname=longsky",$_POST[user],$_POST[password]);
    echo "数据库连接成功!<br>";
        //echo $dbc->getAttribute(PDO::ATTR_AUTOCOMMIT) . "\n";
         //$dbc->exec("delete FROM jos_content where version='5'" );
       
        //直接执行语句,返回影响的数目echo $dbc->exec("insert into news values('','".$_POST[host]."','".$_POST[user]."','1986-10-29')");

        //预处理语句
         $sql="insert into news values(?,?,?,?)";
        $stmt=$dbc->prepare($sql);
    //$stmt->execute(array('','zsj1029',$_POST[host],'2008-10-1'));
    $stmt->bindParam(2,$_POST[host],PDO::PARAM_STR,20);
    $stmt->bindParam(3,$_POST[user],PDO::PARAM_STR,20);
    $stmt->execute();
    }
    catch (PDOException $e)
    {
    echo "数据库连接错误".$e->getMessage();
    die();
    }
    /*if (isset($_POST[host]) && isset($_POST[user])) {
    //$link=mysql_connect($_POST[host],$_POST[user],$_POST[password])
    //or die("数据库连接错误:".mysql_error()); 
    $dbc=new PDO('mysql:host=$host;dbname=joomla',$username,$password)
    echo"数据库连接成功";
    mysql_close($link);

    }
    else 
    echo "请输入连接内容";*/
    ?>
    </body>
    </html>现在学习数据库建议使用PDO连接的,去看看,php5.2以后才出的,连接方式比php内置函数要好
      

类似问题 »