我是新手,我一直在使用CMS,我得到的错误是当我使用以下代码时:
//Group ID
$usergid = mysql_query("SELECT groupid FROM characters WHERE id='$userid'");
$groupid = mysql_fetch_row($usergid);
$groupid = $groupid[0];
//Name of user's group
$usergroupname = mysql_query("SELECT name FROM groups_details WHERE id='$groupid'");
$groupname = mysql_fetch_row($usergroupname);
$groupname = $groupname[0];
//User's job rank
$userjobrank = mysql_query("SELECT jobrank FROM characters WHERE id='$userid'");
$jobrank = mysql_fetch_row($userjobrank);
$jobrank = $jobrank[0];
//User's job name
$userjobname = mysql_query("SELECT name FROM jobranks WHERE `rankid`=`$jobrank` AND `jobid`=`$groupid`");
$jobname = mysql_fetch_array($userjobname);
$jobname = $jobname[0];
我做的最后一个功能不起作用,我尝试删除“AND jobid='$groupid'
”,然后它会显示“Banker”,这是我数据库中ID为1的第一个东西。
所有其他功能都有效。
在我的网页中实施<php echo $jobname; ?>
时,我得到一个空白区域,但应该说是失业。
我一直在寻找一段时间,但一直找不到任何东西。 任何帮助深表感谢, 谢谢! 利亚
P.S;如果我尝试在PhpMyAdmin中执行SELECT name FROM jobranks WHERE rankid='1' AND jobid='groupid'
,则显示“Banker”并且工作正常。
答案 0 :(得分:3)
您收到错误的原因不是因为AND
而是因为您在值周围使用反引号。值应该用单引号括起来,而不是用反引号括起来。
SELECT name FROM jobranks WHERE `rankid` = '$jobrank' AND `jobid` = '$groupid'
另外,您的查询容易受到SQL注入攻击,请阅读this SO question.