6

リモート サーバー上のテーブルのダンプを実行する必要がありますが、サーバーに直接アクセスできません。私が持っている唯一のアクセスは、PHP スクリプトによるものです。

MySQL が返す方法はありますか?

INSERT INTO `table_name` (`field1`, `field2`) VALUES ('a', 'b'), ('c', 'd')

mysqldump何が返されるかなどのステートメント。

exec私は phpMyAdminにアクセスできsystemませんpassthru

別のエクスポート方法については、この質問を参照してください

4

6 に答える 6

5

1) exec または passthru から mysqldump を実行できますか
2) これを見てください: http://www.php-mysql-tutorial.com/perform-mysql-backup-php.php

于 2008-09-15T14:28:38.990 に答える
0

これは、多数の個別のクエリ ステートメントを生成する 1 つのアプローチです。implode を使用して文字列をより効率的に結合することもできますが、これは初心者にとって読みやすく、これから派生して、他の何百万ものアプローチを思いつくことができます。

$results = mysql_query("SELECT * FROM `table_name`");
while($row = mysql_fetch_assoc($results)) {

    $query = "INSERT INTO `table_name` ";
    $fields = '(';
    $values = '('; 

    foreach($row as $field=>$value) {
        $fields .= "'".$field."',";
        $values .= "'".mysql_escape_string($value)."',";
    }

    //drop the last comma off
    $fields = substr($fields,0,-1);
    $values = substr($values,0,-1);

    $query .= $fields . " VALUES " . $values;

    //your final result
    echo $query;
}

それがあなたを始めるかどうか見てください

于 2008-09-15T14:36:28.067 に答える
0

サーバーで php-scripts を使用できる場合は、phpmyadminをお勧めします。次に、Web インターフェイスからこれを行うことができます。

于 2008-09-15T14:30:51.870 に答える
0

PHPMyAdminを確認してください。これは PHP ベースの MySQL 管理ツールです。データベースのバックアップとリカバリ、およびデータベース サーバーへの「GUI」をサポートします。それは非常にうまく機能します。

于 2008-09-15T14:31:01.573 に答える
0

phpMyAdminこれをやってくれると確信しています。

于 2008-09-15T14:31:30.153 に答える
0

これ

select 'insert into table table_name (field1, field2) values'
       || table_name.field1 || ', ' || table_field2 || ');'
from   table_name

始める必要があります。||を置き換えます dbフレーバーの文字列連結演算子を使用します。field1 または field2 が文字列の場合、引用/エスケープのトリックを考え出す必要があります。

于 2008-09-15T14:32:05.097 に答える