Mysqli找不到排

时间:2014-02-21 13:19:36

标签: php mysql

我试图让用户登录这里是我的登录脚本atm我只是检查用户名是否存在但由于某种原因它即使用户名是对的也找不到任何记录

<?php if(isset($_POST)){ 
print_r($_POST);

    //Variables from the table 
    $usernamelogin = $_POST['usernamelogin']; 
    $passwordlogin = $_POST['passwordlogin']; 
    //Prevent MySQL Injections 
    $usernamelogin = stripslashes($usernamelogin); 
    $passwordlogin = stripslashes($passwordlogin); 

    $usernamelogin = mysqli_real_escape_string($con, $usernamelogin); 
    $passwordlogin = mysqli_real_escape_string($con, $passwordlogin); 

    $loginquery = mysqli_query($con,"SELECT * FROM reg_users WHERE user ='$usernamelogin' AND authorised ='1'") or die("Can not query DB."); 
    $logincount = mysqli_num_rows($loginquery);

    if($logincount == 1){
        echo "user exists";
    } else { 
        echo "User doesnt exist"; 
    } 
} 
?>

我的表名为reg_users,user是用户名所在的列。我在注册上做同样的事情并且有效

任何想法的人?

表是

 `reg_users` (
 `id` int(100) NOT NULL AUTO_INCREMENT,
 `firstname` varchar(30) DEFAULT NULL,
 `surname` varchar(30) DEFAULT NULL,
 `user` varchar(255) DEFAULT NULL,
 `password` varchar(512) DEFAULT NULL,
 `email` varchar(50) DEFAULT NULL,
  `banned` int(1) DEFAULT '0',
 `authorised` int(1) DEFAULT '0',
 `activationcode` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`id`)
 ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=latin1;

并且sqlfiddle是here

这是在页面标题中调用的config.php

<?php //Information to connect to your MySQL Server AND DB 
$hostdb    = "localhost"; 
$userdb = "test_nathan"; 
$passworddb = "xxxxx"; 
$db       = "test_nathan"; 

//Connect to MySQL Server 
$con = mysqli_connect($hostdb,$userdb,$passworddb,$db) or die ("could not connect"); 

session_save_path('../login/sessions');
require_once('functions.php');
?>

1 个答案:

答案 0 :(得分:0)

由于某些原因找出问题的人当我在转义字符串时存储变量时,变量附加了空格。谢谢你的帮助。