分不多了啊!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查询后的函数有问题,但是因为我没有什么书籍,还请大家指教。
$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)
上一篇: 2018前端面试题2