Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象从PHP传递到Mysql存储过程_Php_Mysql_Object - Fatal编程技术网

将对象从PHP传递到Mysql存储过程

将对象从PHP传递到Mysql存储过程,php,mysql,object,Php,Mysql,Object,场景:-我必须从PHP调用MYSQL存储过程,并对数据库执行一些操作(大约15个命令) 问题:-我必须用36个参数调用存储过程。很多参数。我认为传递这些单独的参数不是一个好主意,甚至听说传递单独的参数会增加网络流量 寻找:-我在PHP端创建了一个数据对象,是否有任何方法可以在MYSQL中创建类似类型的对象,并将此对象作为参数传递,并从MYSQL存储过程中的对象提取数据您不能在不同的程序之间传递对象。只能传递标量类型的变量。 您可以使用某种序列化机制将数据数组转换为字符串并返回 最简单的序列化机制

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

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


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

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

最简单的序列化机制是基于拆分的,我们都在第一个gueastbook脚本中使用:)

在广泛使用的编码中,还有
json编码
和PHP
serialize()

谢谢你的快速回复。我可以在PHP中序列化,然后再在PHP中取消序列化。但这里我想把序列化对象作为参数传递给MYSQL存储过程,并想在MYSQL中取消序列化,我知道你想把序列化对象作为参数传递给MYSQL存储过程。因此,您必须为存储过程发明一些非序列化函数。或者谷歌。但它不能是php序列化格式。不过,我认为传递所有参数没有什么问题。您可以将其插入临时表中,然后从过程中选择向我提供想法的感谢。现在我很清楚这一点,并将为我的存储过程发明一些非序列化函数。我觉得现在没什么大不了的。再次感谢你的建议