0

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

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

这是我目前的功能:

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 文件。

4

4 回答 4

4

我认为您应该只返回$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'];
于 2013-05-21T22:05:40.773 回答
3

这应该让你开始:

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'];
于 2013-05-21T22:03:20.397 回答
1

你需要从你的函数中返回一个值return $variable;

于 2013-05-21T22:03:38.747 回答
0

在您的代码中,变量$cust_firstname;仅在该函数内部可见。

请阅读:PHP 变量范围

它的工作原理是减少 Web 服务器上的内存使用 - 当函数结束时 - 变量被销毁并释放内存。

基本上 - 你必须以return某种方式达到那个价值。Dave Chen 在上面/下面写了很好的答案,你可以使用他的代码。


顺便说一句,您可以使用extract(); 功能并减少代码大小并节省大量时间。

它是这样工作的:

$fetch = mysql_fetch_assoc($getcustomer);

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

echo $cust_firstname; // magic! :)
于 2013-05-21T22:09:25.790 回答