2012-04-05 5 views
0

誰でもこのコードを修正する方法を教えていただけますか?私はhost1(データベースx、テーブル1)からデータを取得してhost2(データベースdx、table2)にテーブルを作成できます。php-mysqlでpdoを使って、あるサーバから(insert-create table)別の​​サーバに接続(データをプルする方法)、おそらくフェッチする?

私はここで何が欠けていますか?誰かが準備を使用するように指示し、配列をフェッチしてからtable2に挿入すると、いずれかの私にどのように表示することができますか?

ここに私のコードは

<?php 
echo 'Database Connection <br>'; 

$hostname = "host1"; 
$hostname1 = "host2"; 
$username = "myname"; 
$password = "mypassword"; 

try { 
    $dbh = new PDO("mysql:host=$hostname;dbname=x", $username, $password); 
    echo "Connected to database x<br>"; // check for connection 
    $dbup = new PDO("mysql:host=$hostname1;dbname=dx", $username, $password); 
    echo "Connected to database dx<br>"; // check for connection 

    /*** The SQL SELECT statement ***/ 
    $sql = $dbh->query("select name, choices from table1")or die(print_r($dbh->errorInfo(), true)); 
    $sql1 = $dhup->query("CREATE TABLE api(
    `name` VARCHAR(40) NOT NULL, 
    `choices` VARCHAR(255) NOT NULL)")or die(print_r($dbh->errorInfo(), true)); 

    foreach ($sql as $row) 
     { 
      $dbup->exec("insert into table2('name','choices') values('" . $row['name'] . "','" . $row['choices'] . "')") or die(print_r($dbup->errorInfo(), true)); 
     } 

// /*** close the database connection ***/ 
    $dbh = null; 
    $dbup = null; 
    } 
catch(PDOException $e) 
    { 
    print 'Exception : '.$e->getMessage(); 
    } 

?> 

おかげ

+0

何が問題なのですか?エラーメッセージはありますか? – barsju

答えて

0

だ私は、あなたが一貫して "関数dbup" と同じようにスペルしていない気づきました。

:あなたはD'B'upを使用

$dbup = new PDO... 

:あなたはD'H'upを使用

$dhup->query("CREATE TABLE... 

これは簡単な入力ミスの場合ですか?

関連する問題