PHP mysql_num_rows()没有按预期工作

时间:2016-06-11 19:04:44

标签: php mysql

我有一个绝对没有值或行的mysql数据库,当我调用mysql_num_rows()时,它返回就像表中有行一样。

我已经尝试了我能想到的一切,但没有奏效。 我发布了代码:

function test_input($data){
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
        }
...
$name = test_input($_POST["name"]);
$lname = test_input($_POST["lname"]);
$email = test_input($_POST["email"]);
$uname = test_input($_POST["uname"]);
$password = test_input($_POST["password"]);
$password = md5($password);

$q2 = mysql_query("SELECT * FROM `users` WHERE `uname` = '$uname'");
if(mysql_num_rows($q2) > 0){
    echo "<p>Sorry, that username already exists</p>";
}
...

2 个答案:

答案 0 :(得分:3)

从test_input函数返回

bind = '0.0.0.0:443'
workers = 4
worker_class = 'gevent'
worker_connections = 1000
keepalive = 5

keyfile = 'privkey.pem'
certfile = 'cert.pem'
ca_certs = 'chain.pem'

特里也评论道。  不要使用md5作为密码,并使用pdo或mysqli进行数据库连接。

答案 1 :(得分:0)

如果不希望提供额外的建议,您不需要自定义功能来清理您的参赛作品。

$uname = filter_input(INPUT_POST, 'uname', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);

有关详细信息,请查看

Filter_InputSanatize Filters