用html制作了一个注册页面,提交到php页面,用post方法传送数据,但是文本框中输入了中文无法存入sql数据库中。求解,下面是关键代码:
======================================================================================
$userid=$_POST['userid'];
$username=$_POST['username'];
$userpwd=$_POST['userpwd'];
$userage=$_POST['userage'];
$usersex=$_POST['usersex'];
$conn=mysql_connect("localhost","root","");mysql_select_db("newdb",$conn);$sql="INSERT INTO usersinfo (userid,userpwd,username,userage,usersex)values('$userid','$userpwd','$username','$userage','$usersex')";
mysql_query("set names 'utf8'");
$query=mysql_query($sql,$conn);
======================================================================================
userid usepwd userage 这三项为数字,可以存入sql数据库中,但是username usersex无法存入,
打开phpmyadmin 查看数据库,发现中文的那几栏都只有一个空格,存进去失败了。
不知道出现什么问题,添加了:
echo $userid."<br>";
echo $username."<br>";
echo $userpwd."<br>";
echo $userage."<br>";
echo $usersex."<br>";
发现可以正常输出任何变量,说明不是取值问题,是存入数据库的时候出问题了,我想是不是数据编码的问题..?php数据库
======================================================================================
$userid=$_POST['userid'];
$username=$_POST['username'];
$userpwd=$_POST['userpwd'];
$userage=$_POST['userage'];
$usersex=$_POST['usersex'];
$conn=mysql_connect("localhost","root","");mysql_select_db("newdb",$conn);$sql="INSERT INTO usersinfo (userid,userpwd,username,userage,usersex)values('$userid','$userpwd','$username','$userage','$usersex')";
mysql_query("set names 'utf8'");
$query=mysql_query($sql,$conn);
======================================================================================
userid usepwd userage 这三项为数字,可以存入sql数据库中,但是username usersex无法存入,
打开phpmyadmin 查看数据库,发现中文的那几栏都只有一个空格,存进去失败了。
不知道出现什么问题,添加了:
echo $userid."<br>";
echo $username."<br>";
echo $userpwd."<br>";
echo $userage."<br>";
echo $usersex."<br>";
发现可以正常输出任何变量,说明不是取值问题,是存入数据库的时候出问题了,我想是不是数据编码的问题..?php数据库
这是我的数据库表结构
真厉害,一个表两种字符编码,年龄性别这种可以用数字型的也用varchar
这是我的phpdesigner的文件编码方式,数据库用的是utf8
这是我的数据库表结构
真厉害,一个表两种字符编码,年龄性别这种可以用数字型的也用varchar那我先修改一下....
这是我的数据库表结构
真厉害,一个表两种字符编码,年龄性别这种可以用数字型的也用varchar这是我修改后的数据库表结构... 刚开始搞sql不太会...指点指点...
echo mysql_error();
就可知道问题的症结
那是因为你页面和数据库字符编码不一致,以后设计的时候要两边一致,现在么,用iconv再转回去好了。