这是我的错误:
警告: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']相呼应。但是,因为我的用户可以更新他们的信息(包括他们的名字),所以我希望相应地更新标题中显示的名称,而不是显示会话值。
答案 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()";
}