Php 您可以将查询放入函数中吗?

Php 您可以将查询放入函数中吗?,php,database,mysqli,Php,Database,Mysqli,我正在使用一个数据库,并试图创建一个剧院预订网站,在该网站上,客户可以输入他们的详细信息来执行订单,我想单独查询客户详细信息和演出详细信息等。我可以使用功能将其分离出来吗?还是我走错了方向?这就是我目前所拥有的 <?php $connectdb = mysqli_connect("host", "username", "password", "database") or die("Error ".mysqli_connect_error($connectdb)); fun

我正在使用一个数据库,并试图创建一个剧院预订网站,在该网站上,客户可以输入他们的详细信息来执行订单,我想单独查询客户详细信息和演出详细信息等。我可以使用功能将其分离出来吗?还是我走错了方向?这就是我目前所拥有的

<?php
$connectdb = mysqli_connect("host", "username", "password", "database")
        or die("Error ".mysqli_connect_error($connectdb));

function customerDetails(){
    mysqli_query($connectdb, "QUERY GOES HERE");
}


mysqli_close($connectdb);

这里的问题是变量
$connectdb
是在全局范围内定义的(在任何函数之外),要在函数内使用它,需要使用关键字导入它:


创建函数来检索数据很好,主要是因为它抽象了代码并使其可重用。也就是说:您可以在多个页面中调用
customerDetails()
,如果有一天您想从MySQL切换到MongoDB(例如),您只需要更新该函数。这并不是因为运行时的性能原因(事实上,如果没有函数,它应该会稍微快一点),但它使开发变得更简单、更高效(而且更经济划算)。

当然可以这样做。您还可以使用条件语句将它们分开,并启动一个函数,根据单击的按钮选择什么。有很多方法可以做到这一点。你们甚至可以更进一步,用连接信息作为构造函数创建一个mysql或db类。然后,您可以编写具有各种参数的泛型函数来执行您希望执行的操作。类似于使用ORM/DBAL等。
函数customerDetails($connectdb)
是另一种方法,无需声明为全局。许多人担心使用全局是邪恶的。@Fred ii-就我个人而言,我会创建一个带有抽象层的类来完成所有数据库通信。然而,考虑到原始海报所问的问题类型,我宁愿一步一步地简单地说“某人”,我的意思是“夸库诺”;-)èuna buona思想
function customerDetails(){
    global $connectdb;
    mysqli_query($connectdb, "QUERY GOES HERE");
}