mysql|プログラム|データ
phpmyadmin のデータベースのインポートおよびエクスポート機能を使用したことがあるはずですが、これは非常に便利です。ただし、実際のアプリケーションでは次の問題が見つかりました:
1 データベースが 6M などの特定のサイズを超えている 現時点では、エクスポートは通常問題なく、ローカル ハードディスクに正しく保存できますが、インポートはそうではありません。仕事!理由は、通常、PHP.INI では一時ファイル/アップロード ファイルのサイズ制限が 2M に設定されていますが、phpmyadmin がアップロード メソッドを使用したために失敗していました。
2 ハードディスクにエクスポートされた .SQL ファイルをインポートする場合、一重引用符の問題が原因でインポートが失敗し、mysql などのアプリケーションを使用してのみインポートできることがよくあります。
私のデータベースは10Mを超えたので、この問題を解決する必要があります。私のアイデア:
エクスポート: phpmyadmin を使用してデータベース/テーブル構造を保存し、スクリプトを使用してデータベースの内容を読み取り、ファイルに保存します。
インポート: phpmyadmin を使用してデータベース/テーブル構造を復元し、スクリプトを使用してファイルを読み取り、ライブラリに保存します。
エクスポート プログラムは次のとおりです: 呼び出しメソッドは ****.php?table=tablename です
この単純なプログラムは現在、一度に 1 つのテーブルを保存します。 !各行には 1 つのフィールドのデータが含まれています。 !
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("データベース");
$result = mysql_query(" select * from $table");
if(mysql_num_rows($result) <= 0) exit();
echo "データからテキストへの変換を開始します...
";
$handle = fopen("$table.txt ","w");
$numfields = mysql_num_fields($result);
fputs($handle,$numfields."rn");
for($k=0;$k
$msg = mysql_fetch_row($result);
for($i=0;$i<$numfields;$i++)
{
$msg[$i] = str_replace("rn"," ",$ msg[$i]);
$msg[$i] = str_replace("n" ," ",$msg[$i]);
fputs($handle,$msg[$i]."rn");
}
fputs($handle,"---------- MySQL 用 php2000 ダンプ データ プログラム V1.0 --------rn");
}
fclose($handle);
echo "ok ";
?>
インポートされたプログラムは次のとおりです: 使い方は上記と同じです!
if($table=="")exit();
mysql_connect("localhost","name","password");
mysql_select_db("データベース");
$message = file(" $table.txt");
echo $numfields = Chop($message[0]);
for($k=1;$k
$value="";
for ($i=$k;$i<($k+$numfields-1);$i++)
{
$tmp = str_replace(" ","rn",chop($message) [$i]));
$value .= "'".addslashes($tmp)."',";
}
$tmp = str_replace(" ","rn",chop($message[$k+$) numfields-1]));
$value .= "'".$tmp."'";
$query = "$table 値に挿入 (".$value.")";
echo mysql_error() ;
mysql_query($query);
echo $k." ";
}
echo "ok";
?>
使用方法と考えられる問題!
1 インポート時に file() 関数に問題がある可能性があります (私の 10M データには問題ありません)。これを fopen() に変更して、一度に 1 行ずつ読み取ることができます。 !
2 インポートとエクスポートの両方で FTP 操作が必要です。つまり、エクスポート後、FTP を使用してデータをローカル マシンに転送します。インポートするときは、まず FTP を使用してデータをサーバーに転送します。