Hi,
I have to connect sometimes to MSSQL and sometimes to MySql depending on the customer. I am experimenting with the php adodb library that claims to make database connection possible to either vendor using the same syntax.
First the background at home I have:
Rig1:
windows XP professional
PHP 5.0.4, IIS 5.1, MSSQL Server 2000 developer edition
Rig2:
Windows XP home
PHP 5.1.1, Apache 2.2.0, MySql 5.0.18-nt
So far if I connect and execute a query on Rig1 using two php files like this it works.
cls_gen_db.conf.php
<?php
$_ADO_INC_PATH = 'C:/Inetpub/phpado';
$dbdriver = 'mssql';
$server = 'localhost';
$user = 'myusername';
$password = 'mypassword';
$database = 'mydatabase';
include($_ADO_INC_PATH.'/adodb/adodb.inc.php');
?>
class_generator.php
<html>
<body>
<?php
include('cls_gen_db.conf.php');
$Thedb = ADONewConnection($dbdriver);
$Thedb->debug = true;
$Thedb->Connect($server, $user, $password, $database);
$Thedata = $Thedb->Execute('exec sp_tables');
if ($Thedata == false) die("failed");
print '<table>';
while (!$Thedata->EOF) {
print '<tr>';
for ($i=0, $max=$Thedata->FieldCount(); $i < $max; $i++){
print '<td>';
print $Thedata->fields[$i];
print '</td>';
}
print '</tr>';
$Thedata->MoveNext();
}
print '<table>';
?>
</body>
</html>
In theory to run a similar query on the MySql on Rig2 (it has same database name and user name setup) all I have to change is these two lines:
$dbdriver = 'mysql';
$server = 'Rig2';
And this line in the other file:
$Thedata = $Thedb->Execute('show tables');
But I get a blank page, no PHP errors ? if I copy the PHP files over to Rig2 and browse them via Apache web server locally it all works, but If PHP on Rig1 tries to query mysql on Rig2, I get nothing, not even an error. If I view source i see <html><body> but nothing else.
I am lost to know what the problem is (The SP2 firewall on Rig2 is configured to allow incoming TCP/IP on port 3306 from any other host on my home LAN)
What gives?