我在表单中输入:字母,数字,空格,都可以插入到mysql中
但是我输入中文时,就死活插不进数据库
因为用get方式把中文都编译成了一串字符串,其他方式的输入的都是没有变的
估计是传值的问题,但是不知道怎么解决
代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
</head>
<body>
<form action="index.php" accept-charset="gb2312" method="GET">
姓名:<input type="text" name="username" />
密码:<input type="text" name="password" />
<input type="submit" value="提交" />
</form>
<?php
echo $_GET[username];
echo '<br />' . $_GET[password];
?>
<?php
    $con=mysql_connect("localhost","root","admin");
    if($con)
        echo "连接成功";
    $sql="insert into phpdemo.user(username,password) values('$_GET[username]','$_GET[password]')";
    echo $sql;
    mysql_select_db("phpdemo",$con);
    echo 'test';
    if(mysql_query($sql))
        echo '插入数据库成功';
    else 
        echo '插入失败!';
    echo 'test1';
    mysql_close($con);
?>
</body>
</html>

解决方案 »

  1.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html;charset=gb2312">
    </head>
    <body>
    <form action="index.php" accept-charset="gb2312" method="POST">
    姓名:<input type="text" name="username" />
    密码:<input type="text" name="password" />
    <input type="submit" value="提交" />
    </form>
    <?php
    echo $_POST[username];
    echo '<br />' . $_POST[password];
    ?>
    <?php
        $con=mysql_connect("localhost","root","admin");
        if($con)
            echo "连接成功";
        $sql="insert into phpdemo.user(username,password) values('$_POST[username]','$_POST[password]')";
        echo $sql;
        mysql_select_db("phpdemo",$con);
        echo 'test';
        if(mysql_query($sql))
            echo '插入数据库成功';
        else 
            echo '插入失败!';
        echo 'test1';
        mysql_close($con);
    ?>
    </body>
    </html>换成post方式提交
      

  2.   

    还是和以前一样,只是url中没有了后缀
    只是post和get的区别吧
    但是我用echo都能把$sql的值读到页面上的
      

  3.   

    去后台执行一下打印出来的sql  可以的话 就是程序里执行的问题 不可以就是sql的错误 检查下 有问题m我