PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP的回声查询结果在类?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个关于PHP类的问题.我正在尝试通过PHPMysqL获取结果.我想知道最佳实践是在类中显示结果还是将结果存储并以html处理.

例如,在班级内部显示结果

class schedule {
           public $currentWeek;

            function teamQuery($currentWeek){

            $this->currentWeek=$currentWeek;


            }
            function getschedule(){
                $connection = MysqL_connect(DB_SERVER,DB_USER,DB_PASS);
                    if (!$connection) {
                        die("Database connection Failed: " . MysqL_error());
                    }

                    $db_SELEct = MysqL_SELEct_db(@R_197_5341@,$connection);
                    if (!$db_SELEct) {
                        die("Database SELEction Failed: " . MysqL_error());
                    }

                  $scheduleQuery=MysqL_query("SELECT guest, home, time, winner, pickEnable FROM $this->currentWeek ORDER BY time", $connection);

                    if (!$scheduleQuery){
                        die("database has errors: ".MysqL_error());
                          }


                    while($row=MysqL_fetch_array($scheduleQuery, MysqL_NUMS)){
                    //display the result..ex: echo $row['winner'];

                    }     
                    MysqL_close($scheduleQuery); 

                    //no returns
                    }


        }

或者将查询结果作为变量返回并在PHP中处理

class schedule {
           public $currentWeek;

            function teamQuery($currentWeek){

            $this->currentWeek=$currentWeek;


            }
            function getschedule(){
                $connection = MysqL_connect(DB_SERVER,DB_USER,DB_PASS);
                    if (!$connection) {
                        die("Database connection Failed: " . MysqL_error());
                    }

                    $db_SELEct = MysqL_SELEct_db(@R_197_5341@,$connection);
                    if (!$db_SELEct) {
                        die("Database SELEction Failed: " . MysqL_error());
                    }

                  $scheduleQuery=MysqL_query("SELECT guest, home, time, winner, pickEnable FROM $this->currentWeek ORDER BY time", $connection);

                    if (!$scheduleQuery){
                        die("database has errors: ".MysqL_error());
                    // create an array    }
                    $ret = array();   

                    while($row=MysqL_fetch_array($scheduleQuery, MysqL_NUMS)){

                    $ret[]=$row;
                    }     
                    MysqL_close($scheduleQuery); 

                    return $ret;  // and handle the return value in PHP
                    }


            }

这里有两件事:

>我发现PHP中的返回变量有点复杂,因为它是二维数组.我不确定最佳做法是什么,想问一下专家的意见.
>每次创建新方法时,都必须重新创建$connection变量:请参见下文

$connection = MysqL_connect(DB_SERVER,DB_USER,DB_PASS);
                        如果(!$connection){
                            die(“数据库连接失败:”.MysqL_error());
                        }

                    $db_SELEct = MysqL_SELEct_db(@R_197_5341@,$connection);
                    if (!$db_SELEct) {
                        die("Database SELEction Failed: " . MysqL_error());
                    }

对我来说似乎多余.我可以只执行一次,而不必在需要查询调用它吗?我是PHP类的新手.希望你们能帮助我.谢谢.

解决方法:

我将此类视为“访问器”,因此它们仅查询数据库并返回结果.这样,任何调用它的PHP代码都可以使用它来完成自己喜欢的事情.这可能正在显示,或者可能是检查,也可能是更新.这是一个很好的设计,因为它将数据存储区与逻辑与显示区分开,这意味着您的代码将更加灵活.但是是的,它有点复杂.

关于每次重新创建连接.这可能是必需的,也可能不是必需的.根据您的设置,您可能可以创建连接池.为了使您现在更轻松,您可以将连接的创建抽象为自己的方法.这样,您只需要在开始时调用方法即可获得连接句柄.这样可避免您到处都有许多相同代码的副本.

如果您不熟悉PHP类,建议您对面向对象的设计进行一些研究.这将使您了解为什么抽象一些函数会有所好处,以及为什么要返回结果而不是显示结果.

大佬总结

以上是大佬教程为你收集整理的PHP的回声查询结果在类?全部内容,希望文章能够帮你解决PHP的回声查询结果在类?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: