MySQL参数资源错误

时间:2010-04-07 14:05:49

标签: php mysql parameters

这是我的错误:

警告:mysql_query()期望参数2为资源,给定空值为...

这是指我的代码的第23行:

$result = mysql_query($sql, $connection)

我的整个查询代码如下所示:

$query = "SELECT * from users WHERE userid='".intval( $_SESSION['SESS_USERID'] )."'"; 
                $result = mysql_query($query, $connection)
                or die ("Couldn't perform query $query <br />".mysql_error());

                $row = mysql_fetch_array($result);

我不清楚这里有什么好玩的。我想要做的就是在我的网页的标题部分显示用户'fullname'的值。所以我在尝试实现此目的后立即输出此代码:

echo 'Hello '; echo $row['fullname'];

在此更改之前,我让它完美运行,其中fullname的会话变量与$ _SESSION ['SESS_NAME']相呼应。但是,因为我的用户可以更新他们的信息(包括他们的名字),所以我希望相应地更新标题中显示的名称,而不是显示会话值。

5 个答案:

答案 0 :(得分:3)

您的$connection变量NULL就是您的错误消息所指的内容。

原因是你没有打电话给mysql_connect。一旦被调用,它将为您分配一个资源,您可以在其中将其设置为$connection变量,因此非空。

举个例子:

$connection = mysql_connect('localhost', 'mysql_user', 'mysql_password');
// now $connection has a resource that you can pass to mysql_query
$query = "SELECT * from users WHERE userid='".
                                         intval( $_SESSION['SESS_USERID'] )."'"; 
$result = mysql_query($query, $connection)

答案 1 :(得分:1)

在您的类文件中包含mysql连接,例如:

连接/ mysql.php

<?
$hostname_MySQL = "localhost";
$database_MySQL = "database";
$username_MySQL = "user";
$password_MySQL = "password";

$MySQL = mysql_pconnect($hostname_MySQL, $username_MySQL, $password_MySQL) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_MySQL,$MySQL);
?>

class.php

<?
include "Connections/MySQL.php";
class utils {
    public function myFunction()
        {
        global $MySQL;
        $sql =  "select * from table"; 
        $rs = mysql_query($sql, $MySQL) or die(mysql_error());
        $filas = mysql_fetch_assoc($rs);
        $totalFilas = mysql_num_rows($rs);
        ...
        }
    }
?>

答案 2 :(得分:0)

您有两种方法可以执行此操作,您需要使用mysql_connect连接到您的数据库,如果您愿意,可以将此传递给mysql_query,如果您没有将任何内容传递给{{ 1}} PHP使用从mysql_query

打开的最后一个链接
mysql_connect

您是否已连接到数据库?如果是这样,请显示此代码。

目前,只需尝试删除$conn = mysql_connect("localhost", "mysql_user", "mysql_password"); $sql = "SELECT id as userid, fullname, userstatus FROM sometable WHERE userstatus = 1"; $result = mysql_query($sql); 变量,如下所示:

$connection

看看你能从哪里获得。

答案 3 :(得分:0)

为$ connection分配数据库连接资源ID的值。您的脚本中没有这个,因此$ connection的值为NULL,这就是您收到错误的原因。在使用mysql_query()之前,您需要连接到数据库。那之后你应该没问题。

答案 4 :(得分:0)

你需要这样做:

$connection=mysql_connect('host','user','pass');
if($connection === false) {
 echo "Error in connection mysql_error()";
}