php 登陆代码出错 请大神帮忙看一下

我的登陆代码

 <form action="logincheck.php" method="post">
    用户名:<input type="text" name="User_name" />
    <br />
    密码:<input type="password" name="Pwd" />
    <br />
    <input type="submit" name="submit" value="登陆" />

    <a href="register.php">注册</a>
</form>




<?php
$User_name=$_POST['User_name'];
$pwd = $_POST['Pwd'];
$sql = "select User_name,Pwd from table user_info where User_name = '$_POST[User_name]' and Pwd = '$_POST[Pwd]'";
$con = new mysqli("localhost","root","root","student");
$result = $con->query($sql); //进行数据库查询
$row = mysqli_num_rows($result);
if($row > 0)
{
    echo "该用户存在"; //向前端返回数据
}
else
{
    echo "该用户不存在"; //向前端返回数据
}
?>

图片说明

我想验证用户名和密码 但是会报错mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in H:\php\PHPTutorial\WWW\dianyingyuan\logincheck.php on line 7
该用户不存在

有没有大神能帮解决一下

sql语句有问题,把table去掉

mysqli_num_rows需要结果集从 mysql_query() 的调用中得到,而不是query

 $result =mysql_query($sql,$con); //////////$con->query($sql); //进行数据库查询
$row = mysqli_num_rows($result);

第一次回答问题

你看那个报错信息: boolean given in H:\php\PHPTutor, 就说明你sql语句写错了.
对, 你的语句多了一个table, 碰到bug, 我觉得可以使用throw调试.

还有,你简化POST变量之后好像没有使用啊,

<?php
$User_name=$_POST['User_name'];
$pwd = $_POST['Pwd'];
$sql = "select User_name,Pwd from user_info where User_name = '$_POST[User_name]' and Pwd = '$_POST[Pwd]'";
$con = new mysqli("localhost","root","root","student");
$result = $con->query($sql); //进行数据库查询
$row = mysqli_num_rows($result);
if($row > 0)
{
echo "该用户存在"; //向前端返回数据
}
else
{
echo "该用户不存在"; //向前端返回数据
}
//以下是建议优化版,用PDO参数绑定的方式防止SQL注入
$pdo = new PDO("mysql:host=localhost;dbname=数据库名","数据库用户","数据库密码");
$status = $pdo->prepare("select * from user_info where User_name=:a and Pwd=:b");
$status->execute(array('a'=>$User_name,'b'=>$Pwd));
$data = $status->fetch();
if ($data) {
//用户名密码正确
}else{
//用户名密码错误
}
?>