我有一个似乎不起作用的代码,我想要做的是进行一个查询,以了解用户的级别,然后根据该级别,我需要打印不同的内容,在打印默认内容的那一刻,我得到了这个错误消息:
mysql_result()期望参数1是资源,在该行上给出布尔值:
$rank = mysql_result($rank1, 0, 'rank');代码如下:
session_start();
if(!$_SESSION['username']){
header("location:login.php"); // Redirect to login.php page
}
else //Continue to current page
header( 'Content-Type: text/html; charset=utf-8' );
$rank1 = mysql_query("SELET access FROM tbl_galleries WHERE column='username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'rank');
switch ($rank)
{
case 3:
echo "<div><a href='#'>Order DIAMOND Membership</a></div>";
break;
case 2:
echo "<div><a href='#'>Order PLATINUM Membership</a></div>
<div><a href='#'>Order DIAMOND Membership</a></div>";
break;
case 1:
echo "<div><a href='#'>Order ELITE Membership</a></div>
<div><a href='#'>Order PLATINUM Membership</a></div>
<div><a href='#'>Order DIAMOND Membership</a></div>";
break;
default:
echo "<div><a href='#'>Order PRO Membership</a></div>
<div><a href='#'>Order ELITE Membership</a></div>
<div><a href='#'>Order PLATINUM Membership</a></div>
<div><a href='#'>Order DIAMOND Membership</a></div>";
}发布于 2012-08-27 20:54:09
表示SELECT、SHOW、DESCRIBE、EXPLAIN和其他返回结果集的语句,mysql_query()在成功时返回资源,在错误时返回FALSE。
对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()在成功时返回TRUE,在出错时返回FALSE。
这意味着您的查询中有一些错误。尝试在phpMyAdmin或其他类似工具中完成查询。您的查询应该是这样的
$userName = mysql_real_escape_string($_SESSION['username']);
$sql = "SELECT access
FROM tbl_galleries
WHERE username = $userName";
$result = mysql_query($sql);
$rank = mysql_result($result, 0, 'access');发布于 2012-08-27 20:06:10
存在语法错误,SELET必须为SELECT
mysql_query("SELECT..发布于 2012-08-27 20:04:18
查询中的引号不匹配,并且使用了不正确的语法:
WHERE column='username" 尝试使用:
mysql_query("SELECT access FROM tbl_galleries WHERE username ='" . mysql_real_escape_string($_SESSION['username']) . "'");好的,棘手的语法是:
$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'rank');您正在使用可选参数来获取mysql_result中的特定列,但它与您在查询语句中选择的列名不匹配;
$rank1 = mysql_query("SELECT access FROM tbl_galleries WHERE username" . mysql_real_escape_string($_SESSION['username']) . "'");
$rank = mysql_result($rank1, 0, 'access');https://stackoverflow.com/questions/12141605
复制相似问题