Here is the code currently. It works fine for retrieving data from the MSSQL server but it stuffs it up when inserting into mysql, it only inserts the first row.
Most importantly though, is this the right way to connect to two databases at once? Do I need to reconnect with m*sql_pconnect()each time in the loop?
Thanks.
<?
//set variables for connecting to mssql
$mshostname = "MSSQL SERVER";
$msusername = "";
$mspassword = "";
$msdbName = "";
//set variables for connecting to mysql
$myhostname = "MYSQL SERVER";
$myusername = "";
$mypassword = "";
$mydbname = "";
$mytablename = "";
//connect to mssql server and select database
mssql_pconnect($mshostname,$msusername,$mspassword) OR DIE("MSSQL Database connection failed.");
mssql_select_db($msdbName) or DIE("MSSQL DB unavailable");
//connect to mysql server, select database and delete contents
mysql_pconnect($myhostname,$myusername,$mypassword) OR DIE("MySQL Database connection failed.");
mysql_select_db($mydbname) or DIE("MySQL DB unavailable");
$sql_delete = "DELETE FROM paul WHERE id>=0";
mysql_query($sql_delete);
//query to get required fields from finesse
$sql_out = "SELECT Account.[Acc_Reference], Account.[Acc_Description],Acc_Template.[AT_Description],Account_Balances.[AB_Actual], Account_Balances.[AB_Budget], Account_Balances.[AB_On_Order] FROM
{ oj ([Finesse].[dbo].[Account] Account
INNER JOIN [Finesse].[dbo].[Account_Balances] Account_Balances ON Account.[Acc_Id] = Account_Balances.[Acc_Id]) INNER JOIN [Finesse].[dbo].[Acc_Template] Acc_Template ON Account.[AT_Id] = Acc_Template.[AT_Id]}WHERE
Account_Balances.[FY_Id] = 6";
//run the query on the finesse database
$query = mssql_query($sql_out);
printf("<table border=1 width=100%%>");
//loop to get each row from mssql
while ($line = mssql_fetch_array($query)) {
//print results in html table
echo "<tr><td>",$line["Acc_Reference"];
echo "</td><td>",$line["Acc_Description"];
echo "</td><td>",$line["AB_Budget"];
echo "</td><td>",$line["AB_Actual"];
echo "</td><td>",$line["AB_On_Order"];
echo "</td></tr>";
$acc_ref = $line["Acc_Reference"];
$acc_des = $line["Acc_Description"];
$ab_bud = $line["AB_Budget"];
$ab_act = $line["AB_Actual"];
$ab_ono = $line["AB_On_Order"];
//connect to mysql server, select db and insert row
mysql_pconnect($myhostname,$myusername,$mypassword) OR DIE("MySQL Database connection failed during loop.");
mysql_select_db($mydbname) or DIE("MySQL DB unavailable during loop.");
$sql_in = "INSERT INTO $mytablename (Acc_Reference,Acc_Description,AB_Budget,AB_Actual,AB_On_Order) VALUES ('$acc_ref','$acc_des','$ab_bud','$ab_act','$ab_ono')";
mysql_query($sql_in);
//reconnect to mssql server
mssql_pconnect($mshostname,$msusername,$mspassword) OR DIE("MSSQL Database connection failed during loop.");
mssql_select_db($msdbName) or DIE("MSSQL DB unavailable during loop.");
} //close loop
printf("</table>");
?>