代码之家  ›  专栏  ›  技术社区  ›  anon

php和mysql帮助,使用多个数据库

  •  0
  • anon  · 技术社区  · 14 年前

    我需要在多个数据库工作,下面是我目前的代码。

    所以谁能告诉我代码有什么问题,帮我纠正问题,提高性能。

    
    $dbHost="localhost";
    $dbUser="user";
    $dbPass="pass";
    $db_1="database1";
    $db_2="database2";
    
    $connect=mysql_connect($dbHost, $dbUser, $dbPass);
    if (!$connect)
    die("Error Connecting to MYSQL");
    mysql_select_db($db_1, $connect)
    or die("Error Connecting to Database 1");
    
    $remainingDataCount="25000";
    
    $getData=mysql_query("select * from TABLE where FIELD1='data' && FIELD2>'date' && FIELD3='NO'");
    $loop=0;
    while ($eachData=mysql_fetch_array($getData)) {
        $loop++;
        $UNIQUE_ID=$eachData['id'];
        $UNIQUE_DATA1=$eachData['FIELD4'];
        $DATA2=$eachData['FIELD5'];
    
        $responseMessage="some text here";
        $currentTimeStamp=date('Y-m-d H-i-s');
    
        if ($loop>$remainingDataCount) {
            break;
        } else {
    
            $insertQuery=mysql_query("insert into ".$db_2.".TABLE values('', '$UNIQUE_DATA1', '$DATA2', '$responseMessage', '$currentTimeStamp')");
    
            if ($insertQuery==true) {
    
                $updateQuery=mysql_query("update ".$db_1.".TABLE set FIELD1='YES', FIELD2='$responseMessage', FIELD3='$currentTimeStamp' where FIELD4='$UNIQUE_DATA1'");
                if ($updateQuery==false) {
                    mysql_query("delete from ".$db_2.".TABLE where FIELD1='$UNIQUE_DATA1'");
                }
    
            }
        }
    
    }
    
    2 回复  |  直到 12 年前
        1
  •  2
  •   Joonas Trussmann    14 年前

    使用mysql\u connect()打开两个连接,在两个连接上选择正确的数据库,然后使用mysql\u query()的可选链接标识符参数来选择要在哪个数据库上执行查询。

    mysql_query ( string $query [, resource $link_identifier ] )
    

    编辑:

        2
  •  1
  •   Naktibalda    14 年前

    循环中的SQL语句是一个性能问题。 我想你可以 INSERT SELECT