Nimaro 0 Denunciar post Postado Novembro 20, 2009 bons dias a todos, Estou a tentar correr uma script que me pesquise um determinado cliente, e após o pesquisar que me crie uma tabela com os dados que la contem. Estou a fazer desta forma... ------------------------------------------------------------------------------------------------------------------------------------- <?php if(isset($_POST['submit'])) { $nome =($_POST['nome']); $executa="SHOW TABLES"; echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>"; $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'"); echo "<table>"; while ($dados=mysql_fetch_array($query)) { echo "<tr><td><font face=Verdana size=2 color=#333300><B>Nome da tabela => $dados[0]</td></tr>"; $executa="DESCRIBE $dados[0]"; $aux=mysql_query($executa); while ($atributos=mysql_fetch_array($aux)) { echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td> <font face=Verdana size=1>| $atributos[1]</td><td> <font face=Verdana size=1>| $atributos[3]</td></tr>"; } echo "</table>"; } }else { $nome = '';} ?>----------------------------------------------------------------------------------------------------------------------------------------desta forma, quando tento fazer a pesquisa.... da-me este erro ---> Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Secretel\pesquisar_pacientes.php on line 18 Nome da tabela => 7 A linha 18 é é o 2º while ->> while ($atributos=mysql_fetch_array($aux)) { ------------------------------------------------------------------------------------------------------------------------------------------- Depois coloquei a variavel aux desta forma --->> $aux=mysql_query($executa) or die(mysql_error()); E da-me este erro ---> You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '7' at line 1 Nome da tabela => 7 -------------------------------------------------------------------------------------------------------------------------------------------- Não sei que fazer :(, tive a ler um bocado e li qualquer coisa sobre o php.ini, onde dizia para tirar o ";" dos extension... retirei todos :)... mas nem assim.... Alguem me consegue dar uma mão??? Não sei mesmo para que lado me virar :(:( Compartilhar este post Link para o post Compartilhar em outros sites
oliver.valter 0 Denunciar post Postado Novembro 20, 2009 Da um echo na variavel $querye veja se o SQL esta correto. Veja se esta retornando algo. qualquer duvida entre em contato abs Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 fiz estes echos e deu-me estes resultados... echo ($query); ------> Resource id #8 echo ($executa);-----> DESCRIBE 7 echo ($aux); -----> Não me imprime nada :/ O 7, representa o indice que pesquiso... Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 Você tem ai duas variaveis com o mesmo nome.... Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 ?? tenho? quais? :/ Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 executa e executa Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 Vê ai se ocasiona novamente os erros: <?php if(isset($_POST['submit'])){ $nome = strip_tags($_POST['nome']); $exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/ $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'"); echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>"; echo "<table>"; while($dados = mysql_fetch_array($query)){ echo "<tr><td><font face=Verdana size=2 color=#333300><b>Nome da tabela => $dados[0]</b></td></tr>"; $executa = "DESCRIBE $dados[0]"; $descreva = mysql_query("SELECT * FROM pacientes ". $executa); } while($atributos = mysql_fetch_array($descreva)){ echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[3]</td></tr>";} echo "</table>"; } }else{$nome = '';} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 troquei a minha script pela tua... e da-me logo erro mal tento entrar na pagina :/ Parse error: parse error in C:\wamp\www\Secretel\pesquisar_pacientes.php on line 22 linha 22 ----> "}else{$nome = '';}" Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 Havia um colchete a mais na penultima linha <?php if(isset($_POST['submit'])){ $nome = strip_tags($_POST['nome']); $exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/ $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'"); echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>"; echo "<table>"; while($dados = mysql_fetch_array($query)){ echo "<tr><td><font face=Verdana size=2 color=#333300><b>Nome da tabela => $dados[0]</b></td></tr>"; $executa = "DESCRIBE $dados[0]"; $descreva = mysql_query("SELECT * FROM pacientes ". $executa); } while($atributos = mysql_fetch_array($descreva)){ echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[3]</td></tr>"; } echo "</table>"; }else{$nome = '';} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 ahhh sim, ja alterei.... Mas ele continua a dar o mesmo erro :( Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\Secretel\pesquisar_pacientes.php on line 25 Nome da tabela => 7 Esta linha 25 é o 2º while ---> while($atributos = mysql_fetch_array($descreva)){ ------------------------------------------------------------------------------------------------- Depois tentei fazer echo das variaveis echo ($query); ---->Resource id #8 echo ($executa); ---->DESCRIBE 7 echo ($descreva); ---->nao aparece nada :/ pfff, que problema... que nao estou a ver como lhe dar a volta por cima :/ Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 esta linha exibe o que da sua tabela? while($atributos = mysql_fetch_array($descreva)){ echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[3]</td></tr>"; } Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 olha... consegui resolver mas tive de alterar um bocado o teu codigo... vou pustar aqui a minha resolução para qualquer pesoa com o mesmo problema, e ate para me dizeres se este foi um bom metodo que arranjei..... --------------------------------------------------------------------------------------------------------------------------------------------- <?php if(isset($_POST['submit'])){ $nome = strip_tags($_POST['nome']); $exc = "SHOW TABLES"; /*VARIÁVEL RENOMEADA*/ $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'"); echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>"; echo "<table>"; while($dados = mysql_fetch_array($query)){ echo "<tr><td><font face=Verdana size=2 color=#333300><b>Nome da tabela => $dados[0]</b></td></tr>"; $executa = "$dados[0]"; $descreva = mysql_query("SELECT * FROM pacientes WHERE id = $executa"); } while($atributos = mysql_fetch_array($descreva)){ echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[3]</td></tr>"; } echo "</table>"; }else{$nome = '';} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 era o que iria te propor agora <?php if(isset($_POST['submit'])){ $nome = strip_tags($_POST['nome']); $query = mysql_query("SELECT * FROM pacientes WHERE nome = '".mysql_real_escape_string($nome)."'"); echo "<center><font face=Verdana size=2><b>Tabelas da base de dados</b></font></center><br>"; echo "<table>"; while($dados = mysql_fetch_array($query)){ echo "<tr><td><font face=Verdana size=2 color=#333300><b>Nome da tabela => $dados[0]</b></td></tr>"; $descreva = mysql_query("SELECT * FROM pacientes WHERE id='". $dados[0] ."'"); } while($atributos = mysql_fetch_array($descreva)){ echo "<tr><td><font face=Verdana size=1>$atributos[0]</td><td><font face=Verdana size=1>| $atributos[1]</td><td><font face=Verdana size=1>| $atributos[3]</td></tr>"; } echo "</table>"; }else{$nome = '';} ?> Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Mardson 1 Denunciar post Postado Novembro 20, 2009 Bom espero que o resultado seja o esperado. Qualquer dúvida posta que tentamos encontrar soluções. Boa Sorte. Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 :)... obrigadao pela ajuda mesmo... sem ti nao tinha sido facil ^^ ate uma proxima, abraço!!! Compartilhar este post Link para o post Compartilhar em outros sites
oliver.valter 0 Denunciar post Postado Novembro 20, 2009 O erro é porque o mysql_fetch_array não está recebendo nenhum parametro... você não está conectado no banco??? ou a query retornou alguma coisa???? você escolhe o banco de dados em sua conexao? Compartilhar este post Link para o post Compartilhar em outros sites
Nimaro 0 Denunciar post Postado Novembro 20, 2009 sim... o codigo ja esta a funcionar ^^ Compartilhar este post Link para o post Compartilhar em outros sites