Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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
从MYSQL数据库填充PHP对象_Php_Mysql_Class_Oop_Object - Fatal编程技术网

从MYSQL数据库填充PHP对象

从MYSQL数据库填充PHP对象,php,mysql,class,oop,object,Php,Mysql,Class,Oop,Object,从数据库填充PHP中的多个对象时,最好的方法是什么?我的想法是选择是 查询数据库,循环查询结果,并根据数据创建对象 将数据库句柄传递给类并在构造函数中查询信息 为了提高效率,我倾向于使用第一种方法来避免大量的查询,然而,由于每个对象都有很多属性,并且PHP缺少结构,因此将几十个参数传递给构造函数似乎很愚蠢 处理这个问题最有效的方法是什么?使用“while”语句 $result = mysqli_query($con,"SELECT * FROM Table1"); while($row =

从数据库填充PHP中的多个对象时,最好的方法是什么?我的想法是选择是

  • 查询数据库,循环查询结果,并根据数据创建对象
  • 将数据库句柄传递给类并在构造函数中查询信息
为了提高效率,我倾向于使用第一种方法来避免大量的查询,然而,由于每个对象都有很多属性,并且PHP缺少结构,因此将几十个参数传递给构造函数似乎很愚蠢

处理这个问题最有效的方法是什么?

使用“while”语句

$result = mysqli_query($con,"SELECT * FROM Table1");

while($row = mysqli_fetch_array($result))
{
echo $row['Item1'] . " " . $row['Item2'];
echo "<br>";
}
$result=mysqli_查询($con,“从表1中选择*);
while($row=mysqli\u fetch\u数组($result))
{
回显$row['Item1']。“.$row['Item2'];
回声“
”; }
这将执行while循环来检查数据库中的条件。由于我们选择*或“全部”,它将在整个数据库中循环$正在将行指定为多个项目的数组。 然后每个循环从数据库中打印Item1和Item2

如果您需要更好的解释,请告诉我:使用“while”语句

$result = mysqli_query($con,"SELECT * FROM Table1");

while($row = mysqli_fetch_array($result))
{
echo $row['Item1'] . " " . $row['Item2'];
echo "<br>";
}
$result=mysqli_查询($con,“从表1中选择*);
while($row=mysqli\u fetch\u数组($result))
{
回显$row['Item1']。“.$row['Item2'];
回声“
”; }
这将执行while循环来检查数据库中的条件。由于我们选择*或“全部”,它将在整个数据库中循环$正在将行指定为多个项目的数组。 然后每个循环从数据库中打印Item1和Item2


如果您需要更好的解释,请告诉我:D

如何使用+
工厂
模式?听起来不错,但由于我不熟悉这些(中间PHP知识),我不知道如何实现。我假设您已经有了一个类,该类的属性正好映射到表列。这样做之后,您所需要做的就是从数据库中查询并获取所有相关行(一次),以及对象列表中的所有结果,“可能使用foreach循环”。现在,列表中的每个单元格都有一个可以在应用程序中使用的数据库行。您是否建议只在类中使用setter并在foreach循环中的每个类上设置每个属性?如果没有其他更好的方法,这可能是最可行的想法。我建议您特别关注
FETCH_CLASS
FETCH_OBJ
如何使用+
Factory
模式?听起来不错,但我对这些都不熟悉(中级PHP知识)我不知道该如何实现,我假设您已经有了一个类,该类的属性完全映射到表列。这样做之后,您所需要做的就是从数据库中查询并获取所有相关行(一次),以及对象列表中的所有结果,“可能使用foreach循环”。现在,列表中的每个单元格都有一个可以在应用程序中使用的数据库行。您是否建议只在类中使用setter并在foreach循环中的每个类上设置每个属性?如果没有其他更好的方法,这可能是最可行的想法。我建议您特别关注
FETCH_CLASS
FETCH_OBJ
当然,您可以在页面上根据自己的喜好将数组项回显出来。这只是一个如何使它们随时可用的示例。这根本不能回答问题。我非常了解如何查询数据库和循环结果。我的问题是,在有很多属性的地方,如何用数据填充数百个潜在的对象。我不明白这有什么用?如果您知道如何查询以及如何循环并将它们分配给变量/数组,那么您又如何不知道如何将该值分配给对象。你问哪条路最好,我给了你我的意见,不必粗鲁。事实上,我想我理解你现在问的问题,事实上,我对此没有答案。抱歉。当然,如果我们能看到一些代码或示例,回答起来会更容易一些?当然,您可以在页面上根据自己的喜好将数组项回显出来。这只是一个如何使它们随时可用的示例。这根本不能回答问题。我非常了解如何查询数据库和循环结果。我的问题是,在有很多属性的地方,如何用数据填充数百个潜在的对象。我不明白这有什么用?如果您知道如何查询以及如何循环并将它们分配给变量/数组,那么您又如何不知道如何将该值分配给对象。你问哪种方式最好,我给了你我的意见,不必粗鲁。事实上,我想我理解你现在提出的问题,我实际上对此没有答案。对不起。当然,如果我们能看到一些代码或示例,回答起来会更容易?