作为一名业余 PHP 开发人员,我经常遇到混合序列和变量的问题。
简短:
那么,在编写包含大量 SQL 查询的网页时,需要牢记哪些技巧呢?
我想到了制作一个函数的想法,但我不确定这是否有任何好处。
长:
问题是我有一个 PHP 页面,其中有许多 sql 查询,后面跟着 result
、row
、row_number
和 >die()
如果运行查询后结果不成功。
我将它们编号为sql1
、result1
、row1、error1、mysqlouput1和sql2....等等..
当我在五六天后添加一个查询时,我必须仔细检查整个代码以找出最后使用的序列并采取下一个,很多时候我只是使用相同的序列,这会产生奇怪的问题。
变量也有同样的问题,因为同一页面使用不同的 POST
和 GET
id 一次又一次地加载,跟踪变量实在太困惑了。
那么,保持代码顺序良好、可读且变量名称唯一且易于理解的技巧是什么?
我想编写一个函数,将 SQL 作为输入并给出结果
、行
、行计数
和error
作为输出。
有经验的人会建议什么?
谢谢。
最佳答案
首先,您应该尝试为变量使用相关名称。
就像您正在查找所有用户使用 $sqlUsers
、$queryUsers
、$resultUsers
/$usersArray
等变量一样>
函数的想法将是解决问题的一种方法,因为它不再可能在过程本身中编码错误,所以如果您不想切换到面向对象编程,我可能会选择这种方式。
另一种方法是混合,您可以仅创建一些类来处理特定域的数据库交互。 IE。 userDataHandler 类将具有 getUserById() 、 getAllUsers() 等方法。这样,您仍然需要编写查询过程,但是您确切地知道查询在哪里,以结构化的方式进行查询,在方法内命名变量没有问题,并且您的代码不会像您那样变得困惑。不同的域有不同的文件 -> 域特定代码的分离。
您能再解释一下请求变量($_POST 和 $_GET)的问题吗?为什么您的网站会被调用这么多不同的变量,也许您可以更好地构建您的应用程序。
关于php - 正确编号 SQL 查询的一些技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30636297/