php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.01.2009, 11:05  
Neuer Benutzer
 
Registriert seit: 08.01.2009
Beiträge: 3
manni befindet sich auf einem aufstrebenden Ast
Standard 2 datenbanken mit PHP vergleichen und kopieren

Hallo Forum!
Ich hab zwei Datenbanken mit je einer Tabelle.
Ich habe die Daten aus beiden Tabellen mit PHP SELECTed. Mit if habe ich sie verglichen. Wenn die Daten unterschiedlich sind, möchte ich das die Daten in von der Tabelle der ersten DB in die Tabelle der zweiten DB geschrieben werden und evtl überschrieben werden...
PHP-Code:
  include'include/opendb1.inc.php';
         
$abfrage "SELECT * FROM CPU;";
         
$ergebnis mysql_query($abfrage);

         include
'include/opendb2.inc.php';
         
$abfrage1 "SELECT * FROM CPU;";
         
$ergebnis1 mysql_query($abfrage);

         if(
$ergebnis1==$ergebnis)
         {
                 echo
"kein Unterschied";
         }
         else
         {
                 
$write "INSERT INTO CPU(CPU_ID,ProzessorID,Name,Beschreibung,MaxClockSpeed,GVS_ID)VALUES($ergebnis)";
                 
mysql_query($write);
                 echo 
"geschrieben";
             } 
es hapert an dem Teil um INSERT INTO herum..kann mir da helfen wo was falsch ist?
Vielen Dank für eure Mühe und Hilfe!
MfG
Manni
manni ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.01.2009, 11:10  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Weil $ergebnis eine Resource Kennung ist. So kannst du die beiden Tabellen nicht vergleichen. Du müsstest schon die einzelnen Zeilenarrays miteinander vergleichen ob diese gleich sind. Und wenn du nen Unterschied findest müsstest du auch im INSERT INTO als Werte die einzelnen Werte mit Komma separiert einfügen. Lass dir doch mal den Query $write ausgeben dann siehst du was falsch ist.
Flor1an ist offline  
Alt 08.01.2009, 11:11  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Es hapert schon beim auslesen... bitte Grundlagen lernen.
cycap ist offline  
Alt 08.01.2009, 11:16  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ich sag doch er soll die einzelnen Zeilen vergleichen
Flor1an ist offline  
Alt 08.01.2009, 11:17  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von Flor1an Beitrag anzeigen
Ich sag doch er soll die einzelnen Zeilen vergleichen
Joa, du warst etwas schneller als ich, aber trotzdem haben beide Recht
cycap ist offline  
Alt 08.01.2009, 11:19  
Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 50
JSON_Magic befindet sich auf einem aufstrebenden Ast
Standard

Huh? Scheint als hättest du noch nie mit Datenbanken gearbeitet.

mysql_query gibt eine Result-Referenz und keine Werte.
Dadurch ist ($ergebnis1 == $ergebnis) immer false.

Da müsstest schon mysql_fetch_array und co. arbeiten. Um die einzelnen Rows zu vergleichen ist das aber auch doof, da es ja sein kann das IDs fehlen. Dadurch vergleichst irgendwann die Reihe mit ID = 20 mit der Reihe ID= 23, und alle darauffolgenden Werte würden kaputtgeschrieben..

das write-Query müsste noch richtig ausformuliert werden. Also statt $ergebnis müsstest du schon einzeln die Werte in $ergebnis zu ordnen, denn es ist ja nur die Result-Referenz.

Am besten exportierst die Datenbank, löschst die andere Tabelle und importierst den Export in die zweite Datenbank.

Professionellerweise wird das was du vorhast als Datenbank-Replikation bezeichnet. Sowas wird normalerweise per binlog und master-slave datenbankserververbindung realisiert Database Replication in MySQL
JSON_Magic ist offline  
Alt 08.01.2009, 11:27  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Falls der Thread mal von jemandem gefunden wird, der Grundlagen beherrscht:

Das ganze geht auch in einem Abwasch, sofern die beiden Datenbanken auf dem gleichen Server liegen. Einfach die beiden Tabellen 1:1 joinen und die Inhalte mit WHERE vergleichen, so bekommt man nur die Datensätze zurück die einen Unterschied aufweisen. Wenn man dann noch Lust hat, könnte man mit frickelei das ganze vielleicht noch in ein Subquery packen und das Update somit komplett ohne PHP durchführen.
cycap ist offline  
Alt 08.01.2009, 11:31  
Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 50
JSON_Magic befindet sich auf einem aufstrebenden Ast
Standard

Was macht das für nen Sinn?

Wenn die beiden Tabellen auf dem gleichen Server sind, dann brauch ich doch garnicht die abzugleichen?!

Aber Recht haste cycap. Dürfte mit dem Subquery eigentlich gehn...
JSON_Magic ist offline  
Alt 08.01.2009, 11:38  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Was weiss ich was man damit für einen Zweck verfolgt, aber generell sollten Daten sowieso nur 1 mal vorhanden sein... ich meine wenn ich sowieso Zugriff auf beide Server habe, dann kann ich genauso nur auf einem die Daten holen
cycap ist offline  
Alt 08.01.2009, 11:43  
Benutzer
 
Registriert seit: 06.01.2009
Beiträge: 50
JSON_Magic befindet sich auf einem aufstrebenden Ast
Standard

Das ist auch wahr
JSON_Magic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kopieren verbieten Caliginis JavaScript, Ajax und mehr 15 09.01.2009 19:36
JPG Vergleichen - anderer Ansatz wg. Performance cyberholic PHP-Fortgeschrittene 2 03.01.2009 14:15
MYSQL - Abfragen, vergleichen, kopieren medico Datenbanken 1 31.08.2006 10:32
ausgelesene Werte im Array vergleichen - Möglich!? vampsoftchef PHP Tipps 2006 2 22.08.2006 14:34
Datenbanken von Windows zu Linux ApfeL Server, Hosting und Workstations 1 12.04.2006 20:31
Abfrage und vergleich aus 2 Datenbanken Unkaputtbar2 Datenbanken 2 09.02.2006 12:10
Eine Datenbank - Viele Tabellen oder mehrere Datenbanken? nicobischof Datenbanken 3 20.10.2005 15:36
Zwei Datenbanken auslesen PHP Tipps 2005-2 5 09.08.2005 17:05
variablen vergleichen PHP Tipps 2005 18 18.05.2005 19:24
[Erledigt] Mehrere Datenbanken auf verschiedenen Servern Datenbanken 2 15.05.2005 22:28
[Erledigt] Bilder vergleichen? PHP-Fortgeschrittene 7 20.04.2005 15:52
Datenbanken kopieren Datenbanken 7 16.12.2004 19:12
DB Tabelle kopieren und anschliessend löschen test022 PHP Tipps 2004-2 15 25.11.2004 10:40
bild von einer Seite kopieren PHP-Fortgeschrittene 7 09.11.2004 18:37
Mehrere Datenbanken ansprechen PHP-Fortgeschrittene 8 14.09.2004 20:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
2 datenbanken vergleichen, zwei datenbanken vergleichen, datenbanken vergleichen, php 2 datenbanken, mysql zwei datenbanken vergleichen, php zwei datenbanken, http://www.php.de/php-einsteiger/50472-2-datenbanken-mit-php-vergleichen-und-kopieren.html, php mehrere datenbanken, php mysql datenbanken auf verschiedenen servern vergleichen, 2 datenbanken vergleichen mysql, zwei datenbanken vergleichen php, php datenbanken vergleichen, zwei datenbanken vergleichen spss, zwei datenbanken mit einander vergleichen php, 2 datenbanken vergleichen php, mysql zwei datenbanken miteinander vergleichen, php scrip daten mit einander vergleichen, zwei datensätze vergleichen, mehrere datenbanken includieren php, php 2 datenbanken vergleichen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:06 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum