2012-03-15 2 views
1

PHP를 통해 MySQL 데이터베이스 & 오라클 데이터베이스에 연결되었습니다. 한 함수에서 dbInsert()라고 말하면, mysql 데이터베이스에 저장된 데이터를 하나의 변수에 저장했습니다. 이제 MySQL과의 연결을 닫습니다. 그런 다음 오라클 데이터베이스에 connectio를 열어 해당 변수를 가져 오려고 오라클에 해당 값을 삽입 할 수 있도록 &을 엽니 다. 하지만 그 변수에 오라클 연결에서 그 MySQL 값을 얻지 못한다면 ... 함수를 사용하면 함수를 실행 한 다음 클래스 함수 구조에서 파일이 잘 실행되지만 작동하지 않습니다. 사용하려고 시도했습니다. 코드가 너무 커서로 전역 변수하지만 헛된 ... PLZ 도움에 노력을 ...PHP에서 한 함수에서 다른 함수로 변수를 전달하는 방법은 무엇입니까?

나는 점에서 오라클의 통과 ... 내가 선언 한 ... &를 전역 변수로 $ str을 만 이러한 기능을 게시하고 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() 그래서 MySQL의 데이터를 삽입 할 수 있도록 내가 MySQL의에서 오라클 $ str을 전달하는 방법을

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

오라클에 ...

+1

몇 가지 코드를 제공해 주시겠습니까? –

+1

몇 가지 코드를 제공해 주시겠습니까? – Suleman

+0

이해할 수없는 질문 –

답변

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; 
} 

그런 다음 반환 값을 삽입 함수에 전달하십시오. 다시 메모 : 여기에 배열을 사용했습니다. 필요하지 않으면 코드가 더 간단해질 수 있습니다.

function oradbInsert($str){  
    $qry1= "INSERT INTO Test(po_number , Po_creation_date , customer_firstname , customer_lastname , customer_email , shipping_description) values(:val)"; 
    $p= oci_parse($conn,$qry1); 
    oci_bind_by_name($p, ':val', $v); 
    foreach ($str as $v) { 
    oci_execute($p); 
    } 
} 

최종주의 사항 : 테스트되지 않았습니다.

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

물론 특정 경우에는 가능할 수도 있지만 그렇지 않을 수도 있지만 널리 사용되는 솔루션입니다.

관련 문제