我必须查询 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;
}
感谢您的所有想法。
答案 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;
}
感谢您的所有想法。