Php 如何在解密表中的所有行时循环这些行

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

我有一个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 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上循环我编辑了我的答案。现在它应该满足你的要求了。现在它可以工作了!非常感谢你。我想了解它是如何工作的,我可以请你解释一下前三行吗?