If you are using two different APIs (i.e. mysql_* and PDO), PHP will generate two different connections.
And, as a "proof", consider this portion of code :
$db = mysql_connect('localhost', 'USER', 'PASSWORD'); $pdo = new PDO('mysql://@localhost/astralblog', 'USER', 'PASSWORD'); sleep(5);
Running this will cause two distinct connections, on the MySQL server -- which will sleep for 5 seconds :
mysql> show processlist; +----+------------+-----------------+------------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +----+------------+-----------------+------------+---------+------+-------+------------------+ | 41 | astralblog | localhost:46551 | astralblog | Sleep | 188 | | NULL | | 42 | astralblog | localhost:46552 | astralblog | Sleep | 188 | | NULL | | 43 | astralblog | localhost | astralblog | Query | 0 | NULL | show processlist | | 64 | astralblog | localhost | NULL | Sleep | 4 | | NULL | | 65 | astralblog | localhost | NULL | Sleep | 4 | | NULL | +----+------------+-----------------+------------+---------+------+-------+------------------+ 5 rows in set (0,00 sec)
(The connections in question are the two last one, which appeared when I started the PHP script, and disappeared after 5 seconds)