2012-03-15 123 views
1

我通過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

回答

1

更改獲取函數以返回值。注意:我在數組中創建了$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; 
} 

然後將返回值傳遞給插入函數。再說一遍:我在這裏使用了一個數組,如果不需要,代碼可能會更簡單。

​​

最後說明:未經測試。

2

一般而言,當你有兩個需要共享數據的函數時,首先是對象存在的原因之一。

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(); 

當然這可能或可能不適用於您的具體情況,但它是一種流行的解決方案。

相關問題