首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP数组、序列化和反序列化

问PHP数组、序列化和反序列化
EN

Stack Overflow用户
提问于 2011-10-22 08:05:10
回答 2查看 484关注 0票数 1

我有个问题。我有一个网站,人们和不同的交易,他们从一个虚假的网上银行。我希望能够在mysql数据库中存储每个人的事务数组。我希望将每个事务定义为一个具有时间戳的关联数组,并使用"bank“表示其事务的sql查询。

然后,在序列化之后,我希望这些值是保存所有事务的事务数组的值。然后,我想将其序列化并将其存储在数据库中,以便稍后可以通过取消序列化该事务并将另一个事务的序列化数组附加到该事务来添加该事务。到目前为止,下面的代码工作正常,只是它只覆盖了一个事务,而不是附加一个新的事务。我真的很感谢任何人的帮助。

提前感谢

代码语言:javascript
复制
function modify_transactions($row, $sql)
{
 $sql=mysql_real_escape_string($sql);
 if(isset($row["TRANSACTIONS"]))
 {
  $transactions = unserialize($row["TRANSACTIONS"]);
 }
 else
 {
  $transactions = array();
 }
 $transaction_array = array("timestamp"=>time(),"query"=>$sql);
 $transaction_data  = serialize($transaction_array);
 $transactions[] = $transaction_data;
 $transactions_upload = serialize($transactions);
 $name = $row["NAME"];
 $query = "UPDATE band.students SET TRANSACTIONS = '$transactions_upload' WHERE students.NAME = '$name'";
 mysql_query($query);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-22 08:13:16

如果我是您,我会选择一个新的表,在这个表中,每个条目都表示一个事务,并且有一个外键student_id。

这将是非常、非常、非常清晰、灵活和可伸缩的(例如,如果您想要显示用户X的最后3个事务怎么办?如果一个用户有几百万个事务怎么办?)。

票数 3
EN

Stack Overflow用户

发布于 2011-10-22 08:19:46

首先,你不需要序列化每个数组,然后再序列化。 serialize是递归的:

代码语言:javascript
复制
$array = array(
    array(
        '1',
        array()
    ),
    array(
        '2',
        array()
    )
);

$serialized = serialize($array);

$unserialized = unserialize($serialized);

echo "<pre>";
print_r($unserialized);
echo "</pre>";

打印:

代码语言:javascript
复制
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Array
                (
                )

        )

    [1] => Array
        (
            [0] => 2
            [1] => Array
                (
                )

        )

)

所以只需在插入数据库之前进行序列化即可。

第二,你应该改变你的数据库结构,就像提到的,用的外键创建一个新的表。这样,每个条目都代表一个事务。

另外,为什么要存储实际的SQL查询?这对我来说没有任何意义。你为什么不真的做一笔假交易呢?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7856529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档