Migrei meu site de um servidor com MySQL 4.0.20 para um servidor com MySQL 5.0.16 e quase tudo funcionou da mesma forma com excessão da seguinte consulta:
<?include '../../../conn.php';if($busca){$result = mysql_query("SELECT * FROM cadastro WHERE categoria = 'trabalho' AND estado = '".$_POST['busca']."' ORDER BY RAND() ");if (mysql_num_rows($result)==""){ echo "<p>Ainda não existem registros para o estado de $busca.</p>"; }else{echo "<h4>'".$_POST['busca']."'</h4><dl class=\"agenda\">";while($dados = mysql_fetch_array($result)){ $nome = utf8_encode($dados['nome']); $estado = utf8_encode($dados['estado']); $endereco = utf8_encode($dados['endereco']); $numero = utf8_encode($dados['numero']); $bairro = utf8_encode($dados['bairro']); $cidade = utf8_encode($dados['cidade']); $telefone = utf8_encode($dados['telefone']); $cel = utf8_encode($dados['cel']); $fax = utf8_encode($dados['fax']); $site = utf8_encode($dados['site']); $email = utf8_encode($dados['email']); $mensagem = utf8_encode($dados['mensagem']); // Nome echo "<dt>" . ucwords(strtolower($nome)) . "</dt><dd><em>"; // Mensagem echo preg_replace("#(\.|\!|\?).+?( )?([a-z])#sie","strtoupper('\\1\\2 \\3')",ucfirst(strtolower($mensagem))) . "</em></dd><dd>"; // Endereço echo ucwords(strtolower($endereco)) . ", $numero - " . ucwords(strtolower($bairro)) . "</dd><dd>"; // Cidade - Estado echo ucwords(strtolower($cidade)) . " - " . ucwords(strtoupper($estado)) . "</dd><dd>"; // Telefone $telefone = preg_replace("#([^0-9])#","",$telefone); echo "Tel: " . preg_replace("#([0-9]{2})([0-9]{4})([0-9]{4})#","(\\1) \\2-\\3",$telefone); // Celular if( !empty($cel) ){ $cel = preg_replace("#([^0-9])#","",$cel); echo "</dd><dd>Cel: " . preg_replace("#([0-9]{2})([0-9]{4})([0-9]{4})#","(\\1) \\2-\\3",$cel); } echo "</dd><dd>"; // FAX if( !empty($fax) ){ $fax = preg_replace("#([^0-9])#","",$fax); echo "</dd><dd>Fax: " . preg_replace("#([0-9]{2})([0-9]{4})([0-9]{4})#","(\\1) \\2-\\3",$fax); } echo "</dd><dd>"; // Email echo "<a href=\"mailto:".$email."\" target=\"_blank\" >".$email."</a>"; // Site if( !empty($site) ){ echo "</dd><dd>" . preg_replace("#^(http://|www\.)?(.+?)$#is","<a href=\"http://\\2\" target=\"_blank\" rel=\"nofollow\" >http://\\2</a>",$site); } echo "</dd>";}echo "</dl>";}}?>
O que está incompatível no meu código? Dei uma olhada na documentação do MySQL, mas fiquei mais perdida que cusco em tiroteio.
* Não sei se tem a ver, mas tá aparecendo o seguinte no phpMyAdmin:
A extensão mbstring do PHP não foi encontrada e você parece estar usando conjuntos de caracteres multibyte. Sem a extensão mbstring o phpMyAdmin não será capaz de dividir as strings corretamente isso pode causar resultados inesperados.
Obrigada pela atenção.

Edição feita por: savior, 13/01/2008, 10:13.
Utilize tags [codebox] para trechos longos de código!