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?

Try using the IP of Rig2 as the $server varible.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.