Php 函数外不可见的变量

Php 函数外不可见的变量,php,html,mysql,sql,Php,Html,Mysql,Sql,我写了一个查询,从我的数据库中获取客户信息,但我想在另一个页面上使用它。我不想复制粘贴到另一个页面来使用它 我看过一个函数,但我不知道如何从函数中提取变量 function getCustomer($customerid) { $customerid = mysql_real_escape_string($customerid); $getcustomer = mysql_query("SELECT * FROM hire_customers WHERE id='".$custo

我写了一个查询,从我的数据库中获取客户信息,但我想在另一个页面上使用它。我不想复制粘贴到另一个页面来使用它

我看过一个函数,但我不知道如何从函数中提取变量

function getCustomer($customerid) {
    $customerid = mysql_real_escape_string($customerid);
    $getcustomer = mysql_query("SELECT * FROM hire_customers WHERE id='".$customerid."'");
    $fetch = mysql_fetch_assoc($getcustomer);
    return $fetch;
}

$data=getCustomer($customerid);

echo data['firstname'];
这是我目前的职能:

function getCustomer($customerid) {

$getcustomer = mysql_query("SELECT * FROM hire_customers WHERE id='".$customerid."'");
$fetch = mysql_fetch_assoc($getcustomer);

$cust_firstname = $fetch['firstname'];
$cust_lastname =  $fetch['lastname'];
$cust_address =   $fetch['address'];
$cust_town =      $fetch['town'];
$cust_postcode =  $fetch['postcode'];
$cust_cont1 =     $fetch['contact1'];
$cust_number1 =   $fetch['contactnumber1'];
$cust_cont2 =     $fetch['contact2'];
$cust_number =    $fetch['contactnumber2'];
$cust_email =     $fetch['email'];
$cust_idform1 =   $fetch['idform1'];
$cust_idnfo1 =    $fetch['idinfo1'];
$cust_idform2 =   $fetch['idform2'];
$cust_idinfo2 =   $fetch['idinfo2'];
$cust_enterdby =  $fetch['enteredby']; 

}
这是我的客户页面

getCustomer($customerid);

echo $cust_firstname;
但没有任何回应

我是否需要查看类或对象才能执行此操作?我的功能有问题吗


我想做的是在一个地方有一个包含所有客户函数(更新、选择等)的PHP文件。

这应该让您开始:

function getCustomer($customerid) {

    $getcustomer = mysql_query("SELECT * FROM hire_.. etc");
    $customer_data = mysql_fetch_assoc($getcustomer);

    return $customer_data; // return here
}

$customer = getCustomer($customerid);

$cust_firstname = $customer['firstname'];

您需要从函数
return$variable返回一个值

我认为您应该返回
$fetch
,然后作为函数外部的变量访问它

function getCustomer($customerid) {
    $customerid = mysql_real_escape_string($customerid);
    $getcustomer = mysql_query("SELECT * FROM hire_customers WHERE id='".$customerid."'");
    $fetch = mysql_fetch_assoc($getcustomer);
    return $fetch;
}

$data=getCustomer($customerid);

echo data['firstname'];

在代码中,变量
$cust\u firstname仅在该函数内部可见

请阅读:

它是这样工作的,以减少web服务器上的内存使用—当函数结束时—变量被销毁,内存被释放

基本上-您必须以某种方式返回该值。Dave Chen在上面/下面写了很好的答案,你可以使用他的代码


顺便说一句,您可以使用函数,减少代码大小,节省大量时间

它的工作原理如下:

$fetch = mysql_fetch_assoc($getcustomer);

extract($fetch, EXTR_PREFIX_ALL, "cust_"); // creates variables from associative array

echo $cust_firstname; // magic! :)

阅读以理解[what is veriable scope][1][1]:@GeorgeCummins,这个问题的标题很糟糕…@Kamil,查看OP原始帖子的最后一行:“我想做的是拥有一个包含所有客户函数的php文件,比如更新详细信息、选择详细信息(上面一个)等。”它的标题可能并不理想,但它反映了我所理解的问题,比原来的好得多。