【问题标题】:Passing object from PHP to Mysql Stored procedure将对象从 PHP 传递到 Mysql 存储过程
【发布时间】:2010-03-19 13:25:54
【问题描述】:

场景:- 我必须从 PHP 调用 MYSQL 存储过程并对数据库进行一些操作(大约 15 个命令)。

问题:- 我必须调用带有 36 个参数的存储过程。很多参数。我认为传递这么多单独的参数并不是一个好主意,甚至听说传递单独的参数会增加网络流量。

正在寻找:- 我在 PHP 端创建了一个数据对象,有什么方法可以在 MYSQL 中创建类似类型的对象并将此对象作为参数传递并从 MYSQL 存储过程中的对象中提取数据

【问题讨论】:

    标签: php mysql object


    【解决方案1】:

    您不能在不同程序之间传递对象。只能传递标量类型的变量。
    您可以使用一些序列化机制将数据数组转换为字符串并返回。

    最简单的序列化机制是基于拆分的,我们都在我们的第一个留言簿脚本中使用了 :)
    广泛使用的还有json encoding 和PHP serialize()

    【讨论】:

    • 感谢您的快速回复。我可以在 PHP 中序列化,然后在 PHP 中再次反序列化。但是这里我想把序列化的对象作为参数传递给MYSQL存储过程,想在MYSQL中反序列化。
    • 我知道你想将序列化的对象作为参数传递给MYSQL存储过程。所以,你必须为你的存储过程发明一些反序列化函数。或者谷歌它。虽然它不能是 php 序列化格式。不过,我认为传递所有参数没有太大问题。您可以将其插入临时表中,然后从过程中选择
    • 感谢您提出这些想法。现在我很清楚这一点,并将为我的存储过程发明一些反序列化函数。我不认为现在有什么大不了的。再次感谢您的建议
    猜你喜欢
    • 1970-01-01
    • 2014-08-08
    • 2014-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多