Php 面向对象查询函数

Php 面向对象查询函数,php,oop,func,Php,Oop,Func,如果这听起来像一个非常愚蠢的问题,我很抱歉,但我刚刚开始理解面向对象编程的概念,我对php的单例模式有点困惑 如何将查询与保存作为变量保存的行的结果合并到singleton模式中 例如,下面的代码将如何合并 $query = "SELECT * FROM members WHERE email= '".mysql_real_escape_string($_SESSION['email1'])."'"; $result = mysql_query($query) or die(mysql_

如果这听起来像一个非常愚蠢的问题,我很抱歉,但我刚刚开始理解面向对象编程的概念,我对php的单例模式有点困惑

如何将查询与保存作为变量保存的行的结果合并到singleton模式中

例如,下面的代码将如何合并

$query = "SELECT * FROM members WHERE email=   '".mysql_real_escape_string($_SESSION['email1'])."'";
$result   = mysql_query($query) or die(mysql_error());
$number   = mysql_num_rows($result);
$i   = 0;

while ($i < $number) 
{

    $first_name  = mysql_result($result,$i,"first_name"); 
    $last_name  = mysql_result($result,$i,"last_name");
    $state   = mysql_result($result,$i,"home_state");
    $id_district  = mysql_result($result,$i,"district");
    $political_views = mysql_result($result,$i,"political_views");
    $first_issue  = mysql_result($result,$i,"first_issue");
    $second_issue  = mysql_result($result,$i,"second_issue");
    $third_issue  = mysql_result($result,$i,"third_issue");
    $email   = mysql_result($result,$i,"email");
    $iStand   = mysql_result($result,$i,"iStand");
    $photo   = mysql_result($result,$i,"photo");
    $code   = mysql_result($result,$i,"code");
    $changed   = mysql_result($result,$i,"changed");
    $mem_ID          = mysql_result($result,$i,"member_ID");
    $pass   = mysql_result($result,$i,"password");
    $privacy   = mysql_result($result,$i,"privacy");
    $since   = mysql_result($result,$i,"invite_date");
    $nombre   = mysql_result($result,$i,"peer_name");

    $i++;
  }
$query=“SELECT*FROM members WHERE email=”.mysql\u real\u escape\u string($\u SESSION['email1'])。“”;
$result=mysql\u query($query)或die(mysql\u error());
$number=mysql\u num\u行($result);
$i=0;
而($i<$number)
{
$first_name=mysql_result($result,$i,“first_name”);
$last_name=mysql_result($result,$i,“last_name”);
$state=mysql_result($result,$i,“主_状态”);
$id_district=mysql_result($result,$i,“district”);
$political_views=mysql_result($result,$i,“political_views”);
$first_issue=mysql_result($result,$i,“first_issue”);
$second_issue=mysql_result($result,$i,“second_issue”);
$third_issue=mysql_result($result,$i,“third_issue”);
$email=mysql_result($result,$i,“email”);
$iStand=mysql_result($result,$i,“iStand”);
$photo=mysql_result($result,$i,“photo”);
$code=mysql_result($result,$i,“code”);
$changed=mysql_result($result,$i,“changed”);
$mem_ID=mysql_result($result,$i,“member_ID”);
$pass=mysql_result($result,$i,“password”);
$privacy=mysql_result($result,$i,“隐私”);
$since=mysql_result($result,$i,“邀请_日期”);
$nombre=mysql_result($result,$i,“peer_name”);
$i++;
}

单例模式有特定的用途:

这不适用于上面介绍的功能


例如,在创建系统范围的设置类时,将使用单例模式。Singleton防止自己被多次实例化(或者根本不实例化),而是提供一个位置来获取和设置设置信息。

与问题无关,但这段代码首先是什么?为什么要获取多个行,只是为了将最后一行中的值放入变量?为什么要将每一列分别分配给一个变量,而不是将整行作为一个关联数组(mysql\u fetch\u array)来请求?此代码不应该存在!由于电子邮件字段是唯一的,因此没有两个用户可以拥有相同的电子邮件,因此只能从数据库中获取一行。在这种情况下,您不需要while循环。您可以添加,Singleton是一种应避免的反模式。