热搜:NVER node 开发 php

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

2024-09-17 21:35:01
分不多了啊!PHP数据库查询,用户信息验证

PHP 数据库 MySQL

首先,上代码
<?php
$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)