如何在PHP中将变量从一个函数传递给其他函数?

如何在PHP中将变量从一个函数传递给其他函数?

问题描述:

我通过php连接Mysql & Oracle数据库。 现在在一个函数中说dbInsert(),我有存储数据插入到mysql数据库中的一个变量。现在我关闭与Mysql的连接。 然后我打开连接Oracle数据库&试图获取该变量,以便我可以在Oracle中插入这些值。 但问题我没有得到那些在该变量的Oracle连接的Mysql值... 如果我使用它的W/O功能,然后文件运行良好,但在班级功能的结构,它不工作... 我曾尝试使用全局变量而白费...... plz帮助的努力......如何在PHP中将变量从一个函数传递给其他函数?

我张贴只有那些功能代码太大...... 我宣布$ str作为全局变量...... &通过在Oracle的oradbInsert()。

function dbFetch(){ 
      $a = mysql_insert_id();  
       $result2 = mysql_query("SELECT * FROM sample where order_primary = $a"); 
     while($row = mysql_fetch_array($result2)){$str = "'".$row["po_number"]."',"."'".$row[created_at]."',"."'".$row["ustomer_firstname"]."',"."'".$row["customer_lastname"]."',"."'".$row["customer_email"]."',"."'".$row["shipping_description"]; 
     echo $str;} 

功能dbDisconnect()---- MySQL的断开

功能oradbConnect()

function oradbInsert() 
    { 

      $qry1= "INSERT INTO Test(po_number , Po_creation_date , customer_firstname , customer_lastname , customer_email , shipping_description) values(".$str"); 
      $p= oci_parse($conn,$qry1); 
      oci_execute($p); 
    } 

所以,我应该如何通过$海峡从MySQL到Oracle,以便从MySQL数据插入进入Oracle ...

+1

你能提供一些代码吗? – 2012-03-15 11:52:46

+1

请你提供一些代码? – Suleman 2012-03-15 11:53:38

+0

不可理解的问题 – 2012-03-15 12:07:30

更改获取函数以返回值。注意:我在数组中创建了$str数组,因为您正在循环中获取值。如果您只选择一行,请更改它。

function dbFetch(){ 
    $a = mysql_insert_id();  
    $result2 = mysql_query("SELECT * FROM sample where order_primary = $a"); 
    $str = array(); 
    while($row = mysql_fetch_array($result2)){ 
    $str[] = "'".$row["po_number"]."',"."'".$row[created_at]."',"."'".$row["ustomer_firstname"]."',"."'".$row["customer_lastname"]."',"."'".$row["customer_email"]."',"."'".$row["shipping_description"]."'";  
    } 
    return $str; 
} 

然后将返回值传递给插入函数。再说一遍:我在这里使用了一个数组,如果不需要,代码可能会更简单。

​​

最后说明:未经测试。

一般而言,当你有两个需要共享数据的函数时,首先是对象存在的原因之一。

class ImportantData { 
    protected $some_data; 
    public function retrieveData() { 
    $this->some_data = 'retrieved from db'; 
    } 
    public function useData() { 
    // use $this->some_data for something 
    } 
} 

$importantData = new ImportantData(); 

$importantData->retrieveData(); 
$importantData->useData(); 

当然这可能或可能不适用于您的具体情况,但它是一种流行的解决方案。