Ir para conteúdo
Fórum Script Brasil
  • 0

Editar Dados dando erro no mysql_fetch_array()


beuleal

Pergunta

Olá galera, estou desenvolvendo um programinha pessoal que vai me ajudar, porem esta dando o erro Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .... on line 23.

a linha 23 corresponde a essa

<? $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql)){
     
     
     $id_artigos = $pega["id_artigos"];
      $nome = $pega["nome"];
      $texto = $pega["texto"];
       $fonte = $pega["fonte"];

?>

onde esta o erro?

eu fecho com <? } ?> em baixo

OBS: - já coloquei:

- WHERE $id=$id"

-WHERE id=$id_artigos"

-WHERE id=$id"

ME AJUDEM PLZ!

Editado por beuleal
Link para o comentário
Compartilhar em outros sites

25 respostass a esta questão

Posts Recomendados

  • 0

Beuleal, sugiro que dê um print na instrução SQL para ver se o problema está nela. Creio que o $id esteja vazio para dar o erro:

echo "SELECT * FROM artigos WHERE id_artigos=$id";
Olá galera, estou desenvolvendo um programinha pessoal que vai me ajudar, porem esta dando o erro Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .... on line 23. a linha 23 corresponde a essa
<? $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql)){
     
     
     $id_artigos = $pega["id_artigos"];
      $nome = $pega["nome"];
      $texto = $pega["texto"];
       $fonte = $pega["fonte"];

?>

onde esta o erro?

eu fecho com <? } ?> em baixo

OBS: - já coloquei:

- WHERE $id=$id"

-WHERE id=$id_artigos"

-WHERE id=$id"

ME AJUDEM PLZ!

Link para o comentário
Compartilhar em outros sites

  • 0
Beuleal, sugiro que dê um print na instrução SQL para ver se o problema está nela. Creio que o $id esteja vazio para dar o erro:

echo "SELECT * FROM artigos WHERE id_artigos=$id";
Olá galera, estou desenvolvendo um programinha pessoal que vai me ajudar, porem esta dando o erro Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .... on line 23. a linha 23 corresponde a essa
<? $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql)){
     
     
     $id_artigos = $pega["id_artigos"];
      $nome = $pega["nome"];
      $texto = $pega["texto"];
       $fonte = $pega["fonte"];

?>
onde esta o erro? eu fecho com <? } ?> em baixo OBS: - já coloquei: - WHERE $id=$id" -WHERE id=$id_artigos" -WHERE id=$id" ME AJUDEM PLZ!
Desculpe a ignorancia, mas eu coloco isso onde? eu utilizo também o
$id= $_GET["id"];

para pegar o valor da variavel que esta na barra de endereço, com por exemplo:...?id=21

Link para o comentário
Compartilhar em outros sites

  • 0

Ta ai o codigo inteiro!

<? include "../includes/conexao.php"; ?>
<html>
<head>
<title>meio DESC LIMIT 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style4 {
    font-weight: bold;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style6 {font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;}
.style7 {
    font-size: 16px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
}
.style8 {font-size: 9px}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="563" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="563" height="500" align="center" valign="top" background="imagens/fundo.jpg"><p align="center" class="style7">Edi&ccedil;&atilde;o de Artigo - ID = <?=$id_artigo?></p>
      <form name="form1" method="post" action="?link=insere_artigos&?acao=edita">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <?
          
          echo "SELECT * FROM artigos WHERE id_artigos=$id";
          
          $id_editar= $_GET["id"];    
          $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql))
     {
     
     $id_artigos = $pega["id_artigos"];
      $nome = $pega["nome"];
      $texto = $pega["texto"];
       $fonte = $pega["fonte"];
     
     echo "SELECT * FROM artigos WHERE id_artigos=$id";

?>
          <tr>
            <td width="12%" height="42" class="style6"><label>T&iacute;tulo:
              
            </label>              </td>
            <td width="100%" height="50"><input name="titulo" type="text" id="titulo" value="<?=$nome?>" size="60">
            <span class="style6">(N&atilde;o &eacute; necess&aacute;rio) </span></td>
          </tr>
          <tr>
            <td class="style6">Texto:</td>
            <td height="187"><textarea name="texto" cols="60" rows="10" id="texto"><?=strip_tags($texto);?>
            </textarea></td>
          </tr>
          <tr>
            <td class="style6">Escrita por: </td>
            <td height="50"><input name="fonte" type="text" id="fonte" value="<?=$fonte?>" size="60">
              <span class="style6">(N&atilde;o &eacute; necess&aacute;rio) </span></td>
          </tr>
          
          <? } ?>
        </table>
        <p><SPAN lang="EN-US"></SPAN></p>
        <br>
        <label>
          <input type="submit" name="button" id="button" value="Enviar">
        </label>
      </form>
    </td>
  </tr>
</table>

</body>
</html>

Editado por beuleal
Link para o comentário
Compartilhar em outros sites

  • 0

A variável que está recebendo $_GET['id'] se chama $id_editar e não $id... altere o nome dela e teste para ver se continua dando erro.

Ah, e não utilize a short open tag do php <?, utilize sempre <?php pois para a short open tag funcionar depende de configurações extra do servidor, e nem sempre você vai ter essas configurações habilitadas ou terá permissão para habilitá-las e inclusive alguns servidores já vem com ela desabilitada.

Link para o comentário
Compartilhar em outros sites

  • 0

echo "SELECT * FROM artigos WHERE id_artigos=$id";
Essa linha serve pra que? Coloque assim seu código:
<?php include "../includes/conexao.php"; ?>
<html>
<head>
<title>meio DESC LIMIT 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.style4 {
    font-weight: bold;
    font-family: Verdana, Arial, Helvetica, sans-serif;
}
.style6 {font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;}
.style7 {
    font-size: 16px;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: bold;
}
.style8 {font-size: 9px}
-->
</style>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="563" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="563" height="500" align="center" valign="top" background="imagens/fundo.jpg"><p align="center" class="style7">Edi&ccedil;&atilde;o de Artigo - ID = <?=$id_artigo?></p>
      <form name="form1" method="post" action="?link=insere_artigos&?acao=edita">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <?php


          $id= $_GET["id"];
          $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql))
     {

     $id_artigos = $pega["id_artigos"];
     $nome = $pega["nome"];
     $texto = $pega["texto"];
       $fonte = $pega["fonte"];


?>
          <tr>
            <td width="12%" height="42" class="style6"><label>T&iacute;tulo:

            </label>              </td>
            <td width="100%" height="50"><input name="titulo" type="text" id="titulo" value="<?php echo $nome;?>" size="60">
            <span class="style6">(N&atilde;o &eacute; necess&aacute;rio) </span></td>
          </tr>
          <tr>
            <td class="style6">Texto:</td>
            <td height="187"><textarea name="texto" cols="60" rows="10" id="texto"><?php echo strip_tags($texto);?>
            </textarea></td>
          </tr>
          <tr>
            <td class="style6">Escrita por: </td>
            <td height="50"><input name="fonte" type="text" id="fonte" value="<?php echo $fonte;?>" size="60">
              <span class="style6">(N&atilde;o &eacute; necess&aacute;rio) </span></td>
          </tr>

          <?php } ?>
        </table>
        <p><SPAN lang="EN-US"></SPAN></p>
        <br>
        <label>
          <input type="submit" name="button" id="button" value="Enviar">
        </label>
      </form>
    </td>
  </tr>
</table>

</body>
</html>

Ver se funciona assim.

Editado por david.lyonnais
Link para o comentário
Compartilhar em outros sites

  • 0

você só modificou colocando echo?

Aquela linha que tem o WHERE, é que é o seguinte, estou desenvolvendo um sistema de artigos.

Tem uma lista de artigos, com opção para cada um de: editar, ver, excluir

as opções são umas imagens, o link de editar é

?link=edita_artigos&?id= correspondente de cada artigo

isso tá certo, pois na barra de endereço aparece certinho ...?id=21

Mas a pagina edita_artigos.php não reconhece o id=21, então coloquei o get para pegar o id e pedi para que quando ele for procurar no bd artigos, ele pegue o id_artigos correspondente ao id que esta na barra de endereço.

Link para o comentário
Compartilhar em outros sites

  • 0

---------------------------------------

O erro continua dizendo que esta na linha 34

$id= $_GET["id"];
          $sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");

     while($pega = mysql_fetch_array($sql))
     {

Reparei que o erro esta na WHERE, tirei ele, abriu a pagina, mas n como eu queria, só abriu vazio...

Link para o comentário
Compartilhar em outros sites

  • 0

Seria isso?

-- phpMyAdmin SQL Dump
-- version 2.11.4
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração: Dez 29, 2010 as 12:42 AM
-- Versão do Servidor: 5.0.51
-- Versão do PHP: 4.4.8

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Banco de Dados: `empresa_db`
--

-- --------------------------------------------------------

--
-- Estrutura da tabela `artigos`
--

CREATE TABLE `artigos` (
  `id_artigos` int(11) NOT NULL auto_increment,
  `nome` varchar(60) NOT NULL,
  `texto` longtext NOT NULL,
  `fonte` varchar(255) NOT NULL,
  PRIMARY KEY  (`id_artigos`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=32;

Link para o comentário
Compartilhar em outros sites

  • 0

Fui no seu site e tentei passar o id=1 na pagina de artigos

e mostro o seguinte erro.

Parse error: syntax error, unexpected '}' in ../artigos.php on line 50
---------------------------------- @EDIT Vendo o erro que você posto aqui,concluir que o erro esta na query
$sql = mysql_query("SELECT * FROM artigos WHERE id_artigos=$id");
Aqui ta retornando um resultado vazio provocando o erros nas outras duas funções E vendo essa linha concluir tabm que o valor $id está vindo em branco... Então o erro esta nessa linha.
$id= $_GET["id"];

Está chegando um valor nulo pra variavel $id, por isso não esta funcionando...

Editado por david.lyonnais
Link para o comentário
Compartilhar em outros sites

  • 0
Quando você chama um artigo você chama assim não é?

dominio.com.br/?link=artigos&id=21(qualquer numero)

é?

Sim eu chamo a pagina artigos, e pego o artigo de id 21 e por incrivel que pareça não esta vindo vazio.

Vou tirar um print! espera ai

hdysyd.jpg

Editado por beuleal
Link para o comentário
Compartilhar em outros sites

  • 0

ALELUIA!

MALDITO "?"

Galera estou muito grato a atenção que vocês me deram, desculpe se fui chato, mas achei a solução na internet onde dizia:

Para o $_GET, por exemplo, você chama uma página assim:

arquivo.php?dado1=XXXXXXXXX&dado2=YYYYYYYYYY

Para resgatar o XXXXXXXXX você usa $_GET['dado1'] e para resgatar o YYYYYYYYYY você usa o $_GET['dado2']

E POR SINAL É DO SCRIPTBRASIL

http://scriptbrasil.com.br/forum/index.php?showtopic=115063

O ERRO:

Quando eu chama a variavel junto com o ?link ficava assim

<a href=?link=qualquercoisa&?id_artigos=qualquernumero>LINK</a>

Mas, quem foi q flo que tem um maldito ? apos o &

Foi isso, o sistema estava entendo que a variavel era $?id ao invés do que eu estava entendendo, que era, $id

MUITISSIMO OBRIGADO A TODOS, QUALQUER COISA ESTOU AKI!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...