如何在PHP中使用json_encodage从数据库中隐藏列
我有一个数据库,我在PHP中的如何在PHP中使用json_encodage从数据库中隐藏列,php,mysql,pdo,Php,Mysql,Pdo,我有一个数据库,我在PHP中的json_encode中获取,但我想隐藏列。我有太多的列要调用我的SQL请求,这就是为什么我刚刚做了一个:SELECT*。例如,我想隐藏login和password列 $bdd = $connect->query(" SELECT * FROM dmlog.dm LEFT JOIN dmlog.users ON users.id_user = dm.id_used "); $rows = array(); while ($r = $bdd->fetch(
json_encode
中获取,但我想隐藏列
。我有太多的列
要调用我的SQL请求
,这就是为什么我刚刚做了一个:SELECT*
。例如,我想隐藏login
和password
列
$bdd = $connect->query("
SELECT * FROM dmlog.dm LEFT JOIN dmlog.users ON users.id_user = dm.id_used
");
$rows = array();
while ($r = $bdd->fetch()) {
$rows[] = $r;
}
json_encode($rows);
只需取消设置登录
和密码
,然后将其插入到$rows
数组中即可
while ($r = $bdd->fetch()) {
unset($r["login"]);
unset($r["password"]);
$rows[] = $r;
}
您需要使用PDO::FETCH_ASSOC
,这样就不会得到每条记录的两组。将此参数传递给fetch后,您将只返回一个关联数组,该列将作为索引。然后,您可以将不需要的内容传递到unset
$bdd = $connect->query('SELECT * FROM dmlog.dm LEFT JOIN dmlog.users ON users.id_user = dm.id_used');
$rows = array();
while($r = $bdd->fetch(PDO::FETCH_ASSOC)) {
unset($r["login"], $r["login_pass"], $r["login_email"]); //remove login, Login_email, and password from the return
$rows[] = $r;
}
echo json_encode($rows);
它不起作用,如果你想知道原因,我发现: