欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

分不多了啊!PHP数据库查询,用户信息验证

程序员文章站 2022-06-09 17:22:11
...
PHP 数据库 MySQL 首先,上代码
$username=$_POST["name"];
$password=$_POST["password"];
if($username&&$password)
{
if(strpos($username," ")!==false)echo "用户名非法";
else
{
$con=mysql_connect("localhost","root","1");
mysql_select_db("manage",$con);
$sql="
select *
from user
where username='$username' and password='$password'
";
$query = mysql_query($sql) or die(mysql_error());
$row=mysql_num_rows($query);
/*
var_dump($sql);
exit;
*/

if($row==1)echo'登录成功';
else
echo '登录失败';
}
}
?>
不晓得为什么,我的$row执行后获取的值是0,但是呢,我用获取到的$sql

在数据库中执行后, 明明能查询到一条记录,所以能明确,SQL查询后的函数有问题,但是因为我没有什么书籍,还请大家指教。

回复讨论(解决方案)

推荐使用英文的用户名

字符编码对不上,mysql_query(set names utf8) 试试

字符编码对不上,mysql_query(set names utf8) 试试
回帖之前就搞定了,仁兄你说的对!

推荐使用英文的用户名
中国人的名字有几个是英文?

数据库是什么编码,查询前加上:mysql_query("set names utf8"); 试试看。

数据库是什么编码,查询前加上:mysql_query("set names utf8"); 试试看。
没错!


推荐使用英文的用户名
中国人的名字有几个是英文?
把账户名和他的名字分开,他的名字作为一个账户信息。
汉字容易遇到字符集编码的问题。

像mysql_query("set names utf8"); 这个处理漏掉了,你不要犯这样的低级错误。

字符编码对不上,mysql_query(set names utf8)