将MySQL查询转换为对象的最佳方法

max*_*son 3 php mysql constructor object

我有一个用户表,其中包含我要在登录用户的mysql查询中访问的一堆列.最终,我希望这些列中的值形成一个User对象.是否有标准函数来执行此操作,或者我是否基本上需要将查询的每个值传递给新的User语句,以便将它们传递给User类的构造函数?

Bol*_*ock 5

mysql_fetch_object() 允许您指定类名,以便根据结果构造该类的实例:

$result = mysql_query($sql); // Error handling not included

if (mysql_num_rows($result) == 1) {
    $user = mysql_fetch_object($result, 'User');
}
Run Code Online (Sandbox Code Playgroud)

除非您指定与SELECT查询中列出的列对应的属性及其访问修饰符,否则它们将默认为public.

填充其属性调用对象的构造函数.您可以在构造函数中执行要执行的任何更改或其他任务.