检查用户是否在列中具有特定值

时间:2013-05-27 23:32:51

标签: php mysql

我正在尝试检查用户是否在mysql表中有值“town.mayor”,但无法弄清楚我做错了什么。

我知道,代码很混乱,我仍然缺乏使用mysql的经验

    <?php 
//database connection
    $con=mysqli_connect("localhost","root","password","perms");
//username variable
    $username= $_COOKIE['username'];
//query info
        $sql = "SELECT * FROM `permissions` WHERE `name`='".$username."'";
//mysql query
        $res = mysqli_query($con, $sql) or die(mysqli_error());
//the exact perm i want
        $perm=mysql_result($res,"permission");

    if ($perm='town.mayor'){
    echo '<li><a href="/towns/editor.php">Town Editor</a></li>';
    }


    ?>

我正在尝试查询数据库并选择用户名是用户存储cookie的所有位置,然后查看用户名与行匹配的列“权限”是否为town.mayor

如果他们具有编辑/创建城镇页面的权限,则此代码会插入到城镇页面编辑器的链接。并且它成功地做了,但由于某种原因它在它上面给出了一个错误:

警告:mysql_result()要求参数1为资源,第24行的C:\ xampp \ htdocs \ menu \ navl.php中给出的对象

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您正在混合mysql_mysqli功能,只需更改

即可
$perm=mysql_result($res,"permission");

$perm=mysqli_result($res,"permission");

答案 1 :(得分:-1)

怎么样

SELECT * FROM `permissions` WHERE `name`='".$username."' AND `permission` = 'town.mayor'

然后你可以检查是否有结果,如果真的

,则回显必要的代码