Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nimaro

[Resolvido] qual é o problema aqui? :(

Recommended Posts

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

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

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

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.