Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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_Database_Oop_Class - Fatal编程技术网

如何使用php类函数在mysql数据库中存储对象数据?

如何使用php类函数在mysql数据库中存储对象数据?,php,mysql,database,oop,class,Php,Mysql,Database,Oop,Class,我已经在DB中创建了一个名为“member”的表,其中包含字段“name”、“college”、“email”、“zid”,现在我已经创建了一个类(在php中)如下 现在在索引页面,我使用html表单(由JS验证)将这些值作为用户的输入,现在在表单的操作页面,我想创建对象为obj=newmember();然后调用类函数作为obj->autherise($\u post['zid']); 我希望authorise和adduser函数(如authorise)的定义检查zid的唯一性,并使用剩余的po

我已经在DB中创建了一个名为“member”的表,其中包含字段“name”、“college”、“email”、“zid”,现在我已经创建了一个类(在php中)如下

现在在索引页面,我使用html表单(由JS验证)将这些值作为用户的输入,现在在表单的操作页面,我想创建对象为obj=newmember();然后调用类函数作为obj->autherise($\u post['zid']); 我希望authorise和adduser函数(如authorise)的定义检查zid的唯一性,并使用剩余的post变量调用adduser,将它们存储到object,然后在一个查询中将整个对象添加到DB

我不想
将值(“$name,$email,$college,$zid”)插入到成员(姓名、电子邮件、学院、zid)中。
我想直接向数据库输入obj

您可以修改函数中的任何内容


提前感谢

如果要在数据库中存储对象,可以将对象
序列化()
json\u encode()
为字符串,然后将其存储在表中的字段中

当您准备再次使用它时,您可以再次
unserialize()
json\u decode()
字符串。

将整个对象存储在某个位置(如数据库)的“简单”解决方案是将其序列化,即将其转换为字符串;然后,将该字符串存储在数据库中的单个字段中

这可以在PHP中使用函数来完成——要将字符串反序列化为对象,您将使用函数


另一个解决方案是将您的对象序列化到,很好的一点是,可以使用正确的库直接从Javascript和许多不同的编程语言使用JSON

有关JSON,请参阅和


作为旁注:请注意,如果您将数据存储为序列化字符串,则在SQL中操作它们将困难得多:例如,您将无法使用简单的SQL查询来更新它们;搜索也会很困难


这意味着您必须始终从数据库中获取数据,使用PHP进行操作,然后将数据发送回数据库——根据您的需要,这可能并不总是一个好主意。

我不确定您要的是什么。但是也许…只是也许你正在寻找一个,比如…

根据你的回答,我需要使$obj=序列化($obj);那么什么是sql查询呢?请回答我无法前进事实上我很好理解这个概念,但在编写代码时遇到了问题
class member
{ 
 private $name,$college,$email,$zid;
 private function adduser
 {
    //function definition
 }
 public function autherise($id)
 {
    //function definition
 }
}