php4:mysql_query参数计数错误?

时间:2012-12-12 16:06:15

标签: php mysql php4

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

on 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');
}
?>

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

第二个mysql_query()没有参数

答案 2 :(得分: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());