Eu instalei o apache2, php5, mysql-server, php5-mysql e phpmyadmin nessa ordem no Ubuntu 12.04 com o Software Center.
Apache e PHP funcionam bem, sem problemas. Além disso, se eu tentar trabalhar com o MySQL através do phpmyadmin, tudo funcionará como esperado. Problemas começam, quando eu quero usar o MySQL via PHP. Para isso eu tentei o seguinte script:
$connection = mysql_connect($host, $user, $pw) OR die(mysql_errno()." ".mysql_error());
mysql_select_db($db, $connection) OR die(mysql_errno()." ".mysql_error());
Isso retorna "1046 Nenhum banco de dados selecionado". Eu tenho certeza que o banco de dados existe, eu até tentei com o banco de dados padrão "teste" e raiz como usuário. O que me deixou realmente curioso é que, quando eu uso um usuário inexistente ("asdf"), a mesma mensagem aparece e nenhuma falha da função mysql_connect.
Isso me leva à suspeita de que eu luto com os direitos do usuário no sistema Linux, porque ele funciona com o phpmyadmin, que não é instalado através de um webinstaller, mas através do Centro de Software. Eu só posso imaginar que, portanto, o phpmyadmin tem outros direitos para acessar o MySQl do que o PHP, mas eu não sei como abordar o problema. Depois de tentar e googleing por horas, me sinto um pouco perdido agora. Por favor me ajude.