LTB
Hallo, ich habe folgende Aufgabe:
Ich soll den Inhalt einer Datenbank mit Hilfe eines Formulars in eine andere Datenkbank exportieren/kopieren.
Dabei soll ich in folgenden Schritten arbeiten:
1. Verbindung herstellen
2. Tabellen in DB auslesen
3. Felder in Tabellen auslesen
4. Daten in Feldern auslesen
5. Daten in neue Datenbank eintragen (INSERT)
Mein Problem liegt zur Zeit bei Schritt 3.
Die Verbindung herstellen und die Tabellennamen auslesen funktioniert reibungslos.
Allerdings will ich jetzt mit Hilfe der Tabellennamen die Feldnamen auslesen. Zwar wird anhand der Auflistungen korrekt angegeben, wie viele Felder sich darin befinden, allerdings stehen dort nicht die Namen!
Der PHP-Code:
So sieht das Ergebnis aus (jede Tabelle besitzt 4 Felder):
Ich hoffe, dass ihr mir da helfen könnt. Ich hab schon überall (ja Google kenne ich ^^) nachgeschaut, aber irgendwie gibt es hier und dort immer leichte Probleme mit SHOW COLUMNS/FIELDS, aber mein Problem wird nirgends konkret angesprochen.
Ich soll den Inhalt einer Datenbank mit Hilfe eines Formulars in eine andere Datenkbank exportieren/kopieren.
Dabei soll ich in folgenden Schritten arbeiten:
1. Verbindung herstellen
2. Tabellen in DB auslesen
3. Felder in Tabellen auslesen
4. Daten in Feldern auslesen
5. Daten in neue Datenbank eintragen (INSERT)
Mein Problem liegt zur Zeit bei Schritt 3.
Die Verbindung herstellen und die Tabellennamen auslesen funktioniert reibungslos.
Allerdings will ich jetzt mit Hilfe der Tabellennamen die Feldnamen auslesen. Zwar wird anhand der Auflistungen korrekt angegeben, wie viele Felder sich darin befinden, allerdings stehen dort nicht die Namen!
Der PHP-Code:
PHP:
function readOldDB($oldDB)
{
// VERBINDUNG zur ALTEN Datenbank herstellen
mysql_connect("HOST", "USER" ,"PASSWORD") or die ("Keine Verbindung moeglich");
mysql_select_db($oldDB) or die ("Die Datenbank existiert nicht");
// TABELLEN der Datenbank auslesen und ausgeben
$sql = "SHOW TABLES FROM $oldDB";
$re=mysql_query($sql);
if(!$re)
{
echo 'Datenkbank konnte die Tabellennamen nicht auslesen!';
}
else
{
$i = 1;
while($row = mysql_fetch_row($re))
{
$tables[$i] = $row[0];
$i++;
}
}
$num = 1;
echo 'TABELLEN:<br /><br />';
// TABELLEN inkl. Felder ausgeben
foreach($tables as $name)
{
echo $name.'<br />';
##########HIER BEGINNT DAS PROBLEM##########
// FELDER der Tabelle auslesen und ausgeben
$sql2 = "SHOW COLUMNS FROM $tables[$num]";
$re2 = mysql_query($sql2);
if(!re2)
{
echo 'Die Datenbank konnte die Feldnamen nicht auslesen!';
}
else
{
$i2 = 1;
while($field = mysql_fetch_row($re2))
{
$fields[$i2] = $row2[0];
$i2++;
}
}
// FELDER inkl. Daten ausgeben
foreach($fields as $name2)
{
echo '<li>'.$name2.'<br />';
}
echo '<br />';
##########HIER ENDET DAS PROBLEM##########
}
}
So sieht das Ergebnis aus (jede Tabelle besitzt 4 Felder):
Ich hoffe, dass ihr mir da helfen könnt. Ich hab schon überall (ja Google kenne ich ^^) nachgeschaut, aber irgendwie gibt es hier und dort immer leichte Probleme mit SHOW COLUMNS/FIELDS, aber mein Problem wird nirgends konkret angesprochen.