PHP、MySQLで別のDBに接続してテーブルの中身のデータをコピーしたいです。
コピー元: DB名→db1 テーブル名→test1
コピー先: DB名→db2 テーブル名→test2
テーブルの構造はあらかじめ全く同じ状態にしてあります。
以下のような感じで試してはいますが、失敗してしまいます。
$cnt1 = mysql_connect("host1", "db1", "password1") ;
mysql_select_db("test1", $cnt1);
$cnt2 = mysql_connect("host2", "db2", "password2") ;
mysql_select_db("test2", $cnt2);
$sql = "INSERT INTO db2.test2 SELECT * FROM db1.test1";
$result = mysql_query($sql, $cnt2)or die("shipai");
ご教授いただければ幸いです。
またバックアップなども考えているため、差分などでコピーができれば一番嬉しいのですが、方法がよくわからずじまいです...
よろしくお願いいたします。
追記
アドバイスいただきました皆様ありがとうございます。
エラーメッセージは以下のような内容でした
Warning</b>: mysql_error() expects parameter 1 to be resource, string given in /ディレクトリのパス/ ●●行目
自身でもエラー内容で調べてみてSQL文の前の分の何かがおかしいと
気づきました。
追記
エラーメッセージを確認しつつ、
何度か試したところ、解決にいたりました。
結果的には、SQL構文が誤字していたのと、
コピー先に権限などがなかったため、付与して試して解決となりました。
(他にでたエラー:INSERT command denied to user)
バックアップの参考等やアドバイス等々みなさまありがとうございました。


回答4件
あなたの回答
tips
プレビュー