von einer db in die andere

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Stimmt Pyramide, daran hatte ich garnicht gedacht, dass man es auch so machen kann, denn für mich ist das nicht wirklich eine Export-Option.....
... naja, aber manche nutzen sie eben.

Deshalb hatte ich anfangs auch von Spaltentiteln geschrieben, aber die werden bei dieser Option garnicht genannt. :o
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Emanuelle_1982
Mitglied
Beiträge: 535
Registriert: 06.03.2006 18:37
Wohnort: Nümbrecht & Siegen
Kontaktdaten:

Beitrag von Emanuelle_1982 »

naja... ich sag ihm mal er solls schliessen...

die waren teilweise auch anders benannt...

das Problem war das er nicht wusste wie er zur anderen DB connecten sollte... musste ja erst ein close() gemacht werden

danach hats geklappt wenn ichs richtig verstanden habe
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

also ich hab das jetzt mal versucht, daten von einer tabelle ind die andere zu verschieben.

Code: Alles auswählen

<?PHP
$host = "xxxx";
$user = "xxxxxxx";
$password = "xxxxxx";
$database = "xxxx_guesbook";

$verbindung = mysql_connect($host, $user, $password) OR die(mysql_error());
mysql_select_db($database) OR die(mysql_error());

$sql = "SELECT * FROM inno_gb_eintraege";
$result = mysql_query($sql) OR die(mysql_error());

$alt = array();
while ($r = mysql_fetch_assoc($result))
{
  array_push($alt,array(
  "name" => $r['name'],
  "mail" => $r['email'],
  "homepage" => $r['website'],
  "title" => $r['subject'],
  "message" => $r['message'],
  "ip" => $r['ip']));
}

for ($i = 0; $i < 86; $i++)
{
  $sql = "INSERT INTO gb_postings(name, mail, homepage, title, message, time, date, ip) values  ('".$alt[$i]['name']."','".$alt[$i]['homepage']."','".$alt[$i]['title']."','".$alt[$i]['message']."','".date("H:i:s")."','".date("d.m.Y")."','".$alt[$i]['ip']."')";
  mysql_query($sql) OR die(mysql_error());
}
?>
in der while hohle ich die daten aus der einen tabelle, und in der for lass ich die wieder eintragen..

Die tabellen liegen in der gleichen Datenbank.

EDIT: FEHLERMELDUNG:
Column count doesn't match value count at row 1
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Benutzeravatar
Banger
Ehemaliges Teammitglied
Beiträge: 375
Registriert: 03.05.2005 21:53
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Banger »

witzigerkiller hat geschrieben:EDIT: FEHLERMELDUNG:
Column count doesn't match value count at row 1
Is' klar, wenn man 8 Felder, aber nur 7 Werte angibt :) (Hint: Du hast 'email' vergessen);

Mach das mal besser so - das sind weitaus weniger Queries und die Feldinhalte sind auch escaped - letzteres sollte man sich grundsätzlich angewöhnen!

Code: Alles auswählen

<?PHP
$host = "xxxx";
$user = "xxxxxxx";
$password = "xxxxxx";
$database = "xxxx_guesbook";

$verbindung = mysql_connect($host, $user, $password) OR die(mysql_error());
mysql_select_db($database, $verbindung) OR die(mysql_error($verbindung));

$ins = array();

$sql = "SELECT * FROM inno_gb_eintraege";
$result = mysql_query($sql, $verbindung) OR die(mysql_error($verbindung));

list($d, $t) = explode(' ', date('d.m.Y H:i:s'));

while ($r = mysql_fetch_assoc($result)) {
  $r = array_map('mysql_escape_string', $r);
  array_push($ins, "('$r[name]', '$r['email']', '$r[website]', '$r[subject]', '$r[message], '$r[ip]', '$d', '$t')");
}

mysql_free_result($result);

if($ins) {
  $sql = "INSERT INTO gb_postings(`name`, `mail`, `homepage`, `title`, `message`, `time`, `date`, `ip`) 
          VALUES ".implode(', ', $ins);
  mysql_query($sql, $verbindung) OR die(mysql_error($verbindung));
}
?>
Eine kleine Bemerkung noch: die Art, wie Du Datum und Zeit speicherst, ist suboptimal.
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

danke hat prima funktioniert.. Nun sind alle 368 beiträge vom alten gb in das neue gästebuch gewandert.
Bitte keine Anfragen mehr per PN
When you get me on my nerven I put you in the Gully and do the Deckel drüf and you never will come back to the Tageslicht.
Antworten

Zurück zu „Coding & Technik“