|
<p>PHP用户注册实现用户名为 中文 如何实现?</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:0 -</p>
<p>解决时间:2010-4-7 14:09</p>
<p>我在写一个用PHP连接MYSQL数据库验证用户名是否被注册,当输入中文时,无论怎么写,都返回一个 “已被注册信息!”,这么一来,他肯定是不支持中文的用户名了,我就觉的奇怪了,我把验证的代码贴出来大家看看!</p>
<p><?php</p>
<p>require ("../config/mysql_con.php");</p>
<p>$username=trim($_GET[\'username\']);//获取注册名</p>
<p>$sqls="select * from user_info where user_name=\'".$username."\'";</p>
<p>$result=mysql_query($sqls,$con);</p>
<p>$info=mysql_fetch_array($result);</p>
<p>if($info==true)</p>
<p>echo 0; //用户名已经存在!,不可以注册~</p>
<p>else</p>
<p>{</p>
<p>echo 1; //可以注册!</p>
<p>}</p>
<p>?></p>
<p>其中包含的文件是这么写的</p>
<p><?php</p>
<p>$con=mysql_connect("localhost","root","123456")</p>
<p>or die("数据库连接失败");</p>
<p>mysql_select_db("cfan",$con)</p>
<p>or die("数据表连接失败");</p>
<p>mysql_query("set names UTF8"); //设置字符集参数</p>
<p>?></p>
<p>我在phpMyadmin 中 插入一条用户名是中文信息的记录,没有出现乱码问题,数据库的字符集编码也是UTF8的!!</p>
<p>请大家帮我看看</p>
<p>问题补充:</p>
<p>谢谢大家回答,我等下马上就要上课了,来不及改,中午改改看看,我觉的你们讲的很有道理,以前也不知道这个验证返回的是什么,现在有点底了, 还有一个问题是 2楼回答的 那个SQL语句 我一直弄不明白,我在执行 插入语句的时候</p>
<p>$sql="insert into user_info(user_nick,user_name,user_pwd,user_pwd2,user_que,user_ans,user_email,user_qq)values(\"$u_nick\",\"$u_name\",\"$u_pwd\",\"$u_pwd2\",\"$u_que\",\"$u_ans\",\"$u_email\",\'$u_qq\')";</p>
<p>$success=mysql_query($sql,$con)</p>
<p>or die("插入失败,请检查");</p>
<p>如果不用\这个符号,他提示错误,我解释不了,也不明白,不过有一点 是 这个类型和mysql这个字段的类型是不是要对的上的,如varchar型的 插入的时候就要是字符串?</p>
<p>提问者: ty67692832 - 二级</p>
<p>最佳答案</p>
<p>SQL语句没有任何问题 问题就在于这里</p>
<p>if($info==true)</p>
<p>echo 0; //用户名已经存在!,不可以注册~</p>
<p>else</p>
<p>你可以这样判断</p>
<p>1、判断结果集条数是否大于0</p>
<p>$info=mysql_num_rows($result); if($info>0){echo 0;}</p>
<p>2、判断是否为数组</p>
<p>if(is_array($info)){echo 0;}</p>
<p>3、判断返回的结果集里的某一字段是否不为空</p>
<p>if(!empty($info[\'user_name\'])){echo 0;}</p>
<p>另外如果字段为字符串格式 这样写 user_name = \'".$username."\'或者 user_name = \'$username\'</p>
<p>int 类型这样写 user_name = ".$username." 或者 user_name = $username</p>
<p>都是可以的 时间格式 数据库为 DATATIME或DATA 这样写 date = now()</p>
<p>SELECT 的时候 最好不要用 * 因为有的字段你根本不需要读取出来 会造成资源的浪费 最好用哪个字段 你就SELECT哪个字段。</p>
<p>1</p>
<p>回答者:</p>
<p>永恒Lyx - 四级 2010-4-7 09:42</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>真的很感谢,互联网多了你们,我觉的学习都有动力了,你们很耐心帮助我们初学者,真的很感谢,</p>
|
|