基于用户密码,他们只能编辑mysql数据库中的某一行

3hvapo4f  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(215)

我有两张table:

pengguna                            perak
username|password                   pkg    |kodsk
123     |123                        ayer   |a1233
abc     |abc                        bagan  |b1234

php代码:

<?php

session_start();
include("connections.php");

try{

    $query = "SELECT * FROM pengguna INNER JOIN perak ON pengguna.pkg=perak";

    $data = $connect->query($query);

    echo '<table width="70%" border="5" cellpading="1" cellspacing="1">
            <tr>
                 <th>BIL</th>
                 <th>PKG</th>
                 <th>KOD SEKOLAH</th>
                 <th>NAMA SEKOLAH</th>
                 <th>TAHUN OPERASI</th>
                 <th>MAKMAL</th>
                 <th>CATATAN</th>
                 <th>BIL. MURID</th>
                 <th>AGIHAN NETBOOK</th> 
            </tr>';

    foreach($data as $row)
    {
        echo '<tr>
                <td>'.$row["bil"].'</td>
                <td>'.$row["pkg"].'</td>
                <td>'.$row["kodsk"].'</td>
                <td>'.$row["namask"].'</td>
                <td>'.$row["tahun"].'</td>
                <td>'.$row["makmal"].'</td>
                <td>'.$row["catatan"].'</td>
                <td>'.$row["murid"].'</td>
                <td>'.$row["netbook"].'</td>
              </tr>';
    }

}

catch(PDOException $error){

$error->getMessage();
}

?>

如何让密码为123的用户只能查看和编辑ayer的行,而密码为的用户只能查看和编辑bagan的行?

cbjzeqam

cbjzeqam1#

您需要一个表来说明每个用户可以访问哪些包

userpkg
username    pkg
123         ayer
abc         bagan

然后你可以加入表格。

SELECT perak.*
FROM perak 
JOIN userpkg ON perak.pkg = userpkg.pkg
WHERE userpkg.username = '$username'

哪里 $username 来自用户登录时设置的会话变量。
你需要做类似的检查 UPDATE 查询。

相关问题