簡體   English   中英

Cron php更新/從另一個插入一個sql表

[英]Cron php update/insert one sql table from another

我在php中不是那么好,所以我很感激你的幫助。

我需要更新或插入一個mysql表中的某些數據到另一個mysql表相同的服務器!

買的表有相同的列,我想要的是用prechosen mid更新某些行! 表:

|ID| |mid| |value1| |value2|

我做了更新或插入php的部分,以檢查它是否存在但我需要它做的是重復每個給定的步驟pos

所以我需要它為每個中間列表重復這個腳本來完成

mid1 = 66
mid2 = 78
mid3 = 24


$con = mysql_connect("localhost","User","Pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db(baza, $con);

$result = mysql_query("SELECT * FROM table WHERE mid='???' ");

while($row = mysql_fetch_array($result))
{
$mid=$row['mid'];
$name=$row['value1'];
$alias=$row['value2'];
}

mysql_close($con);
?> 
<?php
$con2 = mysql_connect("localhost","user2","pass2");
if (!$con2)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db(baza2, $con2);


$query = "SELECT * FROM table WHERE mid='$mid' ";
$resulta = mysql_query($query) or die(mysql_error());

if (mysql_num_rows($resulta) )
{

mysql_query("UPDATE table SET mid='$mid', name='$name', alias='$alias'");
mysql_close($con2);
echo "1 record added1";
}
else
{
$sql="INSERT INTO table (mid, name, alias)
VALUES
('$mid','$name','$alias')";

if (!mysql_query($sql,$con2))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con2);
}

先感謝您!

如果2個數據庫位於同一服務器上,則可以設置帳戶以訪問這兩個數據庫。 如果是這樣,您可以通過以下方式在查詢中簡單地選擇數據庫:

mysql_query("SELECT * FROM my_database.my_table WHERE ..");

你的代碼將是......

$mid_array = array(66, 78, 24);
$con = mysql_connect("localhost","user","pass");
if(!$con) {
    die('could not connect: '.mysql_error());
}
mysql_select_db(baza, $con);

foreach($mid_array AS $mid) {
    $result = mysql_query("SELECT * FROM table WHERE mid = '".$mid."'";
    while($row = mysql_fetch_array($result)) {
       mysql_query("INSERT INTO baza2.table (mid, name, alias) VALUES ('".$row['mid']."', '".$row['name']."', '".$row['alias']."') ON DUPLICATE KEY UPDATE name = '".$row['name']."', alias = '".$row['alias']."'");
    }
}
mysql_close($con);

您不需要使用其他查詢來檢查mid = ..的記錄是否已存在。 您只需使用mysql ON DUPLICATE KEY UPDATE語句處理此問題,該語句將僅在1個查詢中為您執行此操作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM