Replace one table from one db to another similar db

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
kwnos
Δημοσιεύσεις: 30
Εγγραφή: 21 Αύγ 2007 11:45
Τοποθεσία: ΠΑΤΡΑ

Replace one table from one db to another similar db

Δημοσίευση από kwnos » 11 Φεβ 2008 15:10

Εχουμε μιά βάση collection_temp kai collection kai θέλώ να αντιγράψω με php script όλον τον πίνακα απο την μία στην άλλη βάση.Εγραωα τα παρακάτω¨:

Κώδικας: Επιλογή όλων

<?
if &#40;isset&#40;$_POST&#91;"Submit"&#93;&#41;&#41;&#123;
	
$resource1 = mysql_connect&#40;"localhost", "root", "***"&#41;;
$db = mysql_select_db&#40;collection_temp, $resource1&#41;
or die &#40;"Couldn't select database."&#41;;

$sql = "SELECT * FROM oa_platforms ";
$query = mysql_query&#40;$sql, $resource1&#41;;
mysql_close&#40;$resource1&#41;;

$resource2 = mysql_connect&#40;"localhost", "root", "*****"&#41;;
$db = mysql_select_db&#40;collection, $resource2&#41;
or die &#40;"Couldn't select database."&#41;;

for &#40;$i=0;$i<&#40;$result = mysql_fetch_array&#40;$query&#41;&#41;;$i++&#41; &#123;
mysql_query&#40;"REPLACE INTO  oa_platforms &#40;&#41; VALUES &#40;&#41; &#40;$resource2&#41; "&#41;;
&#125;
echo $i;

mysql_close&#40;$resource2&#41;;


&#125;
   
?>
Δεν παίρνω λάθος και η τιμή που μου δίνει το i στην echo έιναι 26 όσα δηλαδή και τα records tou πινάνα oa_platforms της βάσης collection_temp

Κάτι λάθος στην replace γίνεται.

[/i]

kwnos
Δημοσιεύσεις: 30
Εγγραφή: 21 Αύγ 2007 11:45
Τοποθεσία: ΠΑΤΡΑ

Replace one table from one db to another similar db

Δημοσίευση από kwnos » 12 Φεβ 2008 19:29

Το πρόβλημα λύθηκε.Ο παρακάτω κώδικας δουλεύει κανονικά.

Κώδικας: Επιλογή όλων


$resource1 = mysql_connect&#40;"localhost", "root", "****"&#41;;
$db = mysql_select_db&#40;collection_temp, $resource1&#41;
or die &#40;"Couldn't select database."&#41;;

$sql = "SELECT * FROM oa_platforms ";
$query = mysql_query&#40;$sql, $resource1&#41;;


$resource2 = mysql_connect&#40;"localhost", "root", "****"&#41;;
$db = mysql_select_db&#40;collection, $resource2&#41;
or die &#40;"Couldn't select database."&#41;;

for &#40;$i=0;$i<&#40;$result = mysql_fetch_assoc&#40;$query&#41;&#41;;$i++&#41; &#123;
$sql = "REPLACE INTO oa_platforms SELECT * FROM collection_temp.oa_platforms ";
$query1 = mysql_query&#40;$sql, $resource2&#41;
or die &#40;"Couldn't execute query2."&#41;;

&#125;

print "<table><tr><td> Περάστηκαν $i records στην κύρια βάση</td></tr></table>";

mysql_close&#40;$resource1&#41;;
mysql_close&#40;$resource2&#41;; 

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης