Viva, gostava que me ajudassem a configurar a ligação do script em PHP á base de dados mysql. Não sei o que se passa, penso que executei correctamente todos os passos e quando vou ao site para aceder á base de dados dá-me apenas uma mensagem «erro de pagina» mesmo fazendo PHP: <?php$q=$_GET["q"];$con = mysql_connect('mysql3.freehostia.com', 'marara9_ajax', '4239636');if (!$con) { print 'falhou conexao'; die('Could not connect: ' . mysql_error()); }print 'falhou conexao';mysql_select_db("marara9_ajax", $con);$sql="SELECT * FROM ficheiro WHERE id = '".$q."'";$result = mysql_query($sql);print $con;print $sql;echo "<table border='1'><tr><th>Firstname</th><th>Lastname</th><th>Age</th><th>Hometown</th><th>Job</th></tr>";while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['Firstname'] . "</td>"; echo "<td>" . $row['Lastname'] . "</td>"; echo "<td>" . $row['Age'] . "</td>"; echo "<td>" . $row['Hometown'] . "</td>"; echo "<td>" . $row['Job'] . "</td>"; echo "</tr>"; }echo "</table>";mysql_close($con);?>
bem, espero que esses dados de ligação à BD não sejam os reais , sugeria que os alterasses. pelo menos esta frase "falhou conexao" vai ser smp impressa, tens a mensagem dentro e fora do if mas diz qual é o erro completo, pode ser um erro de server/ username/ password/ database incorrectos por ex; a própria query pode estar mal construída, por ex. o parametro pode não estar a ser bem passado e depois ao construir o sql vai dar 1 erro de sintaxe, etc, etc ...
Bem, não faço ideia qual o erro. Ele não me dá erro nenhum. O erro aparece no canto inferior esquerdo do internet explorer «erro de página». Mas já editei o código index.html e o ficheiro.html com o dreamweaver e não me retorna qualquer erro. Não percebo mesmo nada disto. Vejam se me conseguem ajudar. É um trabalho que tenho que entregar amanhã.
bem, podes começar por alterar a extensao do teu index.html, e ficheiro.html para .php porque se o teu codigo php estiver dentro de um .htm* nao sera interpretado pelo php. depois na tua sintaxe de codigo existem bastantes erros bem como muitos warnings. explicando: Código: //(...) [COLOR=#000000][COLOR=#0000BB]$con [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]mysql_connect[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'mysql3.freehostia.com'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'marara9_ajax'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'4239636'[/COLOR][COLOR=#007700]); if (![/COLOR][COLOR=#0000BB]$con[/COLOR][COLOR=#007700]) { print [/COLOR][COLOR=#DD0000]'falhou conexao'[/COLOR][COLOR=#007700]; die([/COLOR][COLOR=#DD0000]'Could not connect: ' [/COLOR][COLOR=#007700]. [/COLOR][COLOR=#0000BB]mysql_error[/COLOR][COLOR=#007700]()); } print [/COLOR][COLOR=#DD0000]'falhou conexao'[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]mysql_select_db[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"marara9_ajax"[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$con[/COLOR][COLOR=#007700]); [/COLOR][COLOR=#0000BB]$sql[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#DD0000]"SELECT * FROM ficheiro WHERE id = '"[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]$q[/COLOR][COLOR=#007700].[/COLOR][COLOR=#DD0000]"'"[/COLOR][COLOR=#007700]; [/COLOR][COLOR=#0000BB]$result [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]mysql_query[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$sql[/COLOR][COLOR=#007700]); [/COLOR][/COLOR]//(...) Primeiro na coneccao, no final de estar a funcionar (penso que ja esta) coloca o "@" no statment mysql_connect, ou corres o risco de que se exitir um erro na ligaçao, o teu user e pass serao expostos na pagina. algo como: Código: [COLOR=Silver][COLOR=#000000][COLOR=#0000BB]$con [/COLOR][COLOR=#007700]= @[/COLOR][COLOR=#0000BB]mysql_connect[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'mysql3.freehostia.com'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'marara9_ajax'[/COLOR][COLOR=#007700], [/COLOR][COLOR=#DD0000]'4239636'[/COLOR][COLOR=#007700]); [/COLOR][/COLOR][/COLOR] depois, para que tens um print "falhou conecçao" fora do if?? se a conecçao falhar, como tens o die() dentro do if, o php sera terminado imediatamente, e tudo o que estiver em baixo nao sera executado, bem que o que esta fora/a seguir do/ao if é porque a ligaçao correu bem. Retira a linha: print "falhou conecçao" Depois: $sql="SELECT * FROM ficheiro WHERE id = '".$q."'"; Tens aqui alguma confusao na tua instruçao sql, ficheiro é o nome da tua tabela? se sim, mto bem, id tambem é um campo da tabela certo? e a variavel "q" e nao "$q" a procurar muda para Código: $sql = "SELECT * FROM `ficheiro` WHERE `id`='$q'"; Assim funcionara De resto nao tomei atençao, mas pareceu-me tudo bem... aqui para cima é que estava "pior". Esperimenta tudo o que te disse, incluido mudar os teus .html para .php abraço.