Php 从MySQL数据库中选择单个字段以比较变量
我需要从数据库中的“groups”表中获取“groupLeader”字段,并将其存储在变量中,然后与当前登录的用户名进行比较,但我得到错误: 警告:mysql_numrows()希望参数1是第31行的/home/content/00/7923300/html/uber/tasks.php中给出的资源和对象 我目前拥有的代码如下:Php 从MySQL数据库中选择单个字段以比较变量,php,mysql,Php,Mysql,我需要从数据库中的“groups”表中获取“groupLeader”字段,并将其存储在变量中,然后与当前登录的用户名进行比较,但我得到错误: 警告:mysql_numrows()希望参数1是第31行的/home/content/00/7923300/html/uber/tasks.php中给出的资源和对象 我目前拥有的代码如下: $sq = "SELECT * FROM groups WHERE groupID='".$groupID."'"; $result=$db->query($sq
$sq = "SELECT * FROM groups WHERE groupID='".$groupID."'";
$result=$db->query($sq);
$num=mysql_numrows($result);
$i=0;
while ($i < $num) {
$gLeader= mysql_result($result, $i, 'groupLeader');
$i++;
}
if($_COOKIE['$username'] == $gLeader) {
echo "User is leader.";
}
您可能需要使用PHP的mysql_查询或框架行号方法
$result = mysql_query($sq);
或许
$db->number_of_rows($sq);
这里的问题是,由于未知原因,查询没有正确执行。这就是为什么它将False返回到
$result
,这实际上不是一个资源
使用:
或
大部分代码都是多余的,毫无意义。如果只需要一行中的一个字段,则不要执行
选择*
,也不要使用循环
$sql = "SELECT groupLeader FROM ..."
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($reuslt);
if ($row['groupLeader'] == $_COOKIE['username']) {
...
}
}
但是,请注意,mysql_*()函数复合体在PHP中已被正式弃用,不应再使用。考虑切换到MySqLi,通常是兼容的,或者更好的是,使用PDO代替。“MySqLyNoMulthSe())期望参数1是“资源”,指示$结果没有填充结果集,这意味着查询没有按您预期的那样工作。尝试打印查询并直接运行它。另外,您应该转到mysqli方法。
$sq = "SELECT * FROM groups WHERE groupID='".$groupID."'";
$result = mysqli_query($connection, $sq);
$result = mysql_query($sq);
$sql = "SELECT groupLeader FROM ..."
$result = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($result) > 0) {
$row = mysql_fetch_assoc($reuslt);
if ($row['groupLeader'] == $_COOKIE['username']) {
...
}
}