PHP类实例导入MySQL数据库

PHP类实例导入MySQL数据库,php,mysql,Php,Mysql,我正在一个网站上工作,我想在其中使用PHP和MySQL。 大多数情况下,我会在MySQL数据库中插入数百个变量,但我对此感到厌倦。 我在互联网上搜索了一个解决方案,但没有成功 我的网站使用面向对象的PHP,我想将整个实例插入数据库。 例如: class User { private $userID; private $username; // etc public function __construct($userID, $username)

我正在一个网站上工作,我想在其中使用PHP和MySQL。 大多数情况下,我会在MySQL数据库中插入数百个变量,但我对此感到厌倦。 我在互联网上搜索了一个解决方案,但没有成功

我的网站使用面向对象的PHP,我想将整个实例插入数据库。 例如:

class User
{
     private $userID;
     private $username;
     // etc

     public function __construct($userID, $username)
     {
           $this->userID = $userID;
           $this->username = $username
     }

     // Other functions go here
}
我想知道是否可以将整个实例($user=newuser($x,$y))保存到MySQL数据库中。如果可能,我需要什么字段类型


提前感谢。

您正在寻找的可能是ORM(对象关系映射器),它允许您直接将对象映射到数据库中的表

有几种PHP ORM可用,例如:

  • ,也许是使用最广泛的一种
  • 这有点不同的方法,但我非常喜欢这个方法

您还应该知道,使用这样的库可能会对性能产生相当大的影响,但通过缓存和其他解决方案,这一点可以减轻。

您应该以某种方式序列化对象,并将其存储在文本字段中。您可以使用PHP的原生/或,如果它们是简单的值对象,则可以使用/。有关详细信息,请参阅/比较这两种方法。

您无法将实例保存到数据库中。因为实例占用了内存,所以使用编译器可以保存类的状态。然而,Manu Letroll给出了一个很好的解决方案,您应该使用orm来简化工作。

您可以在类中添加一个u toString方法,然后使用
查询(“插入到`表'值(((字符串)$user.);”@arxanas,这只会让他走到一半。还不如做一个“saveToDB”method@arxanas这是一个有趣的方法,但我真的不想维护这样编写的应用程序。谢谢。我已经找到了serialize()和unserialize(),但它们似乎不足以胜任这项工作。我做了一点实验,结果成功了。谢谢谢谢你的提示。在我们工作的地方,我们使用教条。我曾考虑为我的网站实施原则,但我的网站很小,可以用一种更简单的方法:)无论如何,谢谢你的提示!