1

不确定我能提供多少上下文。我只是试图做逾期的作业,我得到了错误:它应该是一个简单的登录页面,登录检查和登录成功与失败。

在 check.php 上:

Warning: Wrong parameter count for mysql_query() in /u/students/j/j.d.dancks/public_html/cis231/hw/hw5/check.php on line 11

我以为我知道我在做什么,我猜我不知道。

代码:

<?php
$good = false;
if(array_key_exists('nick',$_POST)&&array_key_exists('pass',$_POST))
{
    if(isset($_POST['nick'])&&isset($_POST['pass']))
    {
        $con = mysql_connect('localhost','heh','heh');
        mysql_select_db('heh_db',$con);
        $q = mysql_query(sprintf("select * from reg_users where username='%s' and pass='%s'",
        mysql_real_escape_string($_POST['nick']),
        mysql_real_escape_string($_POST['pass'])),$con) or die(mysql_query());
        if(mysql_num_rows($q)==1)
        {
            $good=true;
            $r = mysql_fetch_assoc($q);
            session_start();
            $_SESSION['user'] = $r['username'];
            $_SESSION['lastlogin'] = time();
            mysql_close($con);
            header('loginsuccess.php');
        }
        else
        {
            header('loginfailure.html');
        }
    }
    else
    {
        header('hw5.html');
    }
}
if(!$good)
{
    header('hw5.html');
}
?>
4

3 回答 3

2

mysql_query() 至少需要一个查询参数。我相信你想要的是 mysql_error()。

更改or die(mysql_query())为或die(mysql_error())

于 2012-12-12T16:12:16.127 回答
2

第二个 mysql_query() 没有参数

于 2012-12-12T16:29:47.117 回答
1

尝试使用另一种连接技术。

$nick = mysql_real_escape_string($_POST['nick']);
$pass = mysql_real_escape_string($_POST['pass']);
$query = "select * from reg_users where username='".$nick."' and pass='".$pass."'";
$q = mysql_query($query,$con) or die(mysql_query());
于 2012-12-12T16:09:29.817 回答