Php 如何在解密表中的所有行时循环这些行
我有一个mysql表,如下所示: id |昵称|项目|日期|时间 1. 2. 三, 其中每个条目都是加密的 我能做的是调用如下查询:Php 如何在解密表中的所有行时循环这些行,php,mysql,sql,encryption,Php,Mysql,Sql,Encryption,我有一个mysql表,如下所示: id |昵称|项目|日期|时间 1. 2. 三, 其中每个条目都是加密的 我能做的是调用如下查询: $query1="SELECT nickname FROM user$iduser" WHERE id=1; $query2="SELECT items FROM user$iduser WHERE id=1"; $query3="SELECT data FROM user$iduser WHERE id=1"; $query4="SELECT t
$query1="SELECT nickname FROM user$iduser" WHERE id=1;
$query2="SELECT items FROM user$iduser WHERE id=1";
$query3="SELECT data FROM user$iduser WHERE id=1";
$query4="SELECT time FROM user$iduser WHERE id=1";
$result=$conn->query($query);
$row = $result->fetch_array(MYSQL_BOTH);
$nickname = openssl_decrypt( base64_decode( $row['nickname'] ), $encrypt_method, $key2crypt, 0, $iv );
$result=$conn->query($query2);
$row = $result->fetch_array(MYSQL_BOTH);
$items = openssl_decrypt( base64_decode( $row['items'] ), $encrypt_method, $key2crypt, 0, $iv );
$result=$conn->query($query3);
$row = $result->fetch_array(MYSQL_BOTH);
$data = openssl_decrypt( base64_decode( $row['data'] ), $encrypt_method, $key2crypt, 0, $iv );
$result=$conn->query($query4);
$row = $result->fetch_array(MYSQL_BOTH);
$time = openssl_decrypt( base64_decode( $row['time'] ), $encrypt_method, $key2crypt, 0, $iv );
echo $nickname,",",$items,",",$data,",",$time;
我将获得:
nickname_entry_decrypted,items_entry_decrypted,data_entry_decrypted,time_entry_decrypted
我想要的是为表中的每个id循环,以便输出如下所示:
nickname_entry_decrypted1,items_entry_decrypted1,data_entry_decrypted1,time_entry_decrypted1
nickname_entry_decrypted2,items_entry_decrypted2,data_entry_decrypted2,time_entry_decrypted2
etc..
谢谢你的帮助 如果我理解正确,您需要一些代码,如:
$sql = "SELECT nickname, items, data, time FROM user{$iduser}";
$result = $conn->query($sql);
while (null !== ($row = $result->fetch_assoc())) {
$nickname = openssl_decrypt(
base64_decode($row['nickname']),
$encrypt_method,
$key2crypt,
0,
$iv
);
$items = openssl_decrypt(
base64_decode($row['items']),
$encrypt_method,
$key2crypt,
0,
$iv
);
$data = openssl_decrypt(
base64_decode($row['data']),
$encrypt_method,
$key2crypt,
0,
$iv
);
$time = openssl_decrypt(
base64_decode($row['time']),
$encrypt_method,
$key2crypt,
0,
$iv
);
echo "{$nickname},{$items},{$data},{$time}\n";
}
您应该使用一个查询,比如SELECT昵称、items、data、time FROM users谢谢,我认为它接近解决方案,但我不明白该语句在做什么:我正在从表user$iduser中选择,即user1..user2。。它需要保持固定。我只想循环表id。它正在这样做吗?PS:我代码中的第一行是错误的:$query1=从用户$iduser中选择昵称,其中id=1;每个用户都有一个表?是的,在此上下文中我不需要更改它。只有在用户表的所有id上循环我编辑了我的答案。现在它应该满足你的要求了。现在它可以工作了!非常感谢你。我想了解它是如何工作的,我可以请你解释一下前三行吗?