我可以在一次循环中获取多个不同的SQL语句吗?用PHP

时间:2016-09-27 04:47:29

标签: php mysql sql sql-server

我必须查询 SQL-SERVER 的查询和 MYSQL 的查询(具有相同的结果格式,但它'差异数据库) ,但我想在PHP中使用while循环调用它们,我可以这样做吗?

实施例

$mssql_query = mssql_query(..mssql..);
$mysql_query = mysql_query(..mysql..);
while( $mssql_rs = mssql_fetch_assoc($mssql_query)|| $mysql_sql = mysql_fetch_assoc($mysql_query) )
{               
    ..some action..
}

已编辑: 我刚刚得到了解决的答案。这对我的工作来自@Drew的想法(b继续)

这是我的代码

$mssql_query = mssql_query(..mssql..);
$mysql_query = mysql_query(..mysql..);
$continue = true;

while( $continue ){

    $ms_rs = mssql_fetch_assoc($mssql_query);
    $my_rs = mysql_fetch_assoc($mysql_query);

    if($ms_rs){ ..some action.. }
    if($my_rs ){ ..some action.. }

    $continue = $ms_rs|| $my_rs;

}

感谢您的所有想法。

2 个答案:

答案 0 :(得分:1)

如果它们具有相同的行数和相同的列名,您可以在黑暗中拍摄并尝试使用每种data_seek两种口味。

这里的想法/这里也有一些伪代码(当然未经测试):

$mssql_query = mssql_query(< the mssql query statement >);
$mysql_query = mysql_query(< the mysql query statement >);

$ms_num_rows = mssql_num_rows($mssql_query);
$my_num_rows = mssql_num_rows($mysql_query);

if($ms_num_rows === $my_num_rows) { // same number of rows on both result sets

    for($i = 0; $i < $my_num_rows; $i++) {
        mssql_data_seek($mssql_query, $i);
        mysql_data_seek($mysql_query, $i);

        $ms_row = mysql_fetch_assoc($mssql_query);
        $my_row = mysql_fetch_assoc($mysql_query);

        echo $ms_row['same_field_1'];
        echo $my_row['same_field_1'];

        // and others
    }

}

注意:当然,您可能会收到使用这些函数的弃用警告,很可能这些函数都有自己的PDO对应物,您可以将它们移植到使用它们中。

手动输入:

http://php.net/manual/en/function.mssql-data-seek.php
http://php.net/manual/en/function.mysql-data-seek.php

答案 1 :(得分:0)

我只是得到答案。它对我有用 来自@Drew的想法while(bContinue)

这是我的代码

$mssql_query = mssql_query(..mssql..);
$mysql_query = mysql_query(..mysql..);
$continue = true;

while( $continue )

{               
    $ms_rs = mssql_fetch_assoc($mssql_query);
    $my_rs = mysql_fetch_assoc($mysql_query);

    if($ms_rs){ ..some action.. }
    if($my_rs ){ ..some action.. }

    $continue = $ms_rs|| $my_rs;

}

感谢您的所有想法。