Ir para conteúdo

POWERED BY:

Arquivado

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

xavrim

erro!

Recommended Posts

Galera, estou com easyphp 1.8 instalado na minha máquina, e estou utilizando o php 4.3.10 e está dando o seguinte erro:

 

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\deletar\deletardesigngrafico.php on line 75

 

Antes de instalar o easyphp 1.8, está tudo beleza, agora está dando este erro.. Qual é este argumento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_fetch_array() espera um recurso (resource) como argumento.

No caso, você deve ter valorizado uma variável com este recurso, como em:

$qry = mysql_query("SELECT * FROM tabela");

Caso o comando sql seja executado sem erros, $qry será um recurso. Caso contrário, será valorizada com FALSE.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?
include '../conexao.php';
$db=conectar();
$sql=mysql_query("select * from 3d_modelagem", $db);
while($valor=mysql_fetch_array($sql)){
$horarios = $valor['horarios'];

if($horarios!="[Selecione o Horário]"){
echo "Horário: <input type='text' value='$horarios' size='102'>";
}
}
?>

O código e este.

 

Eu akbei de conseguir, mas surgiu outra dúvida. Tenho começo do código, a validação da sessão sendo chamado pela include..

 

<?php include "../valida_cookies.php"; ?>

Dentro desta página tenho uma função que tem o nome de conectar();

 

<?

function conectar(){

$login="root"; /* Conexão com o estúdio do site - Usueario:" " */

$senha="midia"; /* Conexão com o estúdio do site - Senha: " " */

$servidor="localhost";

$banco="user_senha";

$db=mysql_connect($servidor,$login,$senha) or die("Erro ao Conectar: " . mysql_error());

mysql_select_db($banco,$db);

return($db);

}

?>

Está verifica o usuariom so que tenho outra página que tomá contar de outro assunto..

 

include '../conexao.php';

$db=conectar();

O nome da função e o mesmo, isso está dando o seguinte erro:

Fatal error: Cannot redeclare conectar() (previously declared in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\conexao_user.php:3) in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\conexao.php on line 2

Coloco o nome diferente e funciona.. Ai que tá, pq com easyphp instalado está dando este seguinte erro, e antes estava tudo dando certo, e até mesmo no meu espaço de hospedagem está tudo ok?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que você está incluindo o arquivo da função de conectar duas vezes, e consequentemente a função será declarada duas vezes (o que não é permitido).

Utilize include_once() no lugar de include. Assim, caso o arquivo já tenha sido anteriormente incluido, este não será re-incluido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que você está incluindo o arquivo da função de conectar duas vezes, e consequentemente a função será declarada duas vezes (o que não é permitido).

Utilize include_once() no lugar de include. Assim, caso o arquivo já tenha sido anteriormente incluido, este não será re-incluido.

 

O marcio.sfs já respondeu.

 

http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quanto mais eu mexo, dar mais erro :angry:

 

Olha só:

 

<?
include '../conexao.php';
$db=conectar_cursos();
$cont=0;
$ver=0;
$tamanho = $_POST["tamanho"];
$tabela = $_POST["tabela"];

while($cont<$tamanho){
	$del=$_POST["deleta$cont"];
	$id=$_POST["id$cont"];
		if ($del=="on"){
			[b]$ver = mysql_query("delete from $tabela where id='$id'", $db);
			mysql_num_rows($ver);[/b]
		}
$cont++;
}

[b]if($ver>=1){
echo "Horário(s) deletado(s)!<br/><br/>Tabela: $tabela<br><br><a href='../horarios.php' class='texto'>Voltar</a><br><br>";
}[/b]
else{
	echo "<span class='falso'>Nada foi alterado.</span><br/><br/>Relatar os problemas ao administrador do sistema.";
}
?>

Coloquei este mysql_num_rows só para verificar se algo foi alterado, mais dá este erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\deletar\deletado.php on line 78

 

O bkna, que funciona, mas se colocou um teste para ver quantas linhas foram alteradas ele voltar o valor 1 mesmo se marquei 2 caixas.

 

Alguém pod me ajudar... Tá osso :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Modifiquei teu código tenta ai...

altere os dados de acordo com o seu servidor...

PHP
<?

<?php

  function conexao(){

  global $base;

 

  $base = mysql_connect("localhost","USUARIO","SENHA")or die("Erro ao se conectar com o DB");

  $db   = mysql_select_db("NOME_DB,$base)or die("Erro na seleção do DB");

}

?>

 

<?

conexao();

 

$cont=0;

$ver=0;

$tamanho = $_POST["tamanho"];

$tabela = $_POST["tabela"];

 

while($cont < $tamanho){

    $del=$_POST["deleta$cont"];

    $id=$_POST["id$cont"];

        if ($del=="on"){

            $ver = mysql_query("delete from $tabela where id='$id'", $base);

            mysql_num_rows($ver);

        }

$cont++;

}

 

if($ver>=1){

echo "Horário(s) deletado(s)!<br/><br/>Tabela: $tabela<br><br><a href='../horarios.php' class='texto'>Voltar</a><br><br>";

}

else{

    echo "<span class='falso'>Nada foi alterado.</span><br/><br/>Relatar os problemas ao administrador do sistema.";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw, mas dá a mesma mensagem:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\deletar\deletado.php on line 113

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\deletar\deletado.php on line 113
Horário(s) deletado(s)!

Tá dificil!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente novamente.

 

Abraço.

PHP
<?

<?php

  function conexao(){

  global $base;

 

  $base = mysql_connect("localhost","USUARIO","SENHA")or die("Erro ao se conectar com o DB");

  $db   = mysql_select_db("NOME_DB,$base)or die("Erro na seleção do DB");

}

?>

 

<?

conexao();

 

$cont=0;

$ver=0;

$tamanho = $_POST["tamanho"];

$tabela = $_POST["tabela"];

 

while($cont < $tamanho){

    $del=$_POST["deleta"];

    $id=$_POST["id"];

        if ($del=="on"){

           $ver = mysql_query("delete from $tabela where id='$id'", $base);

 

        }

$cont++;

}

$contar = mysql_query("SELECT * FROM $tabela", $base)or die("Erro..")

$linhas = mysql_num_rows($contar);

 

if($linhas > =1){

echo "Horário(s) deletado(s)!<br/><br/>Tabela: $tabela<br><br><a href='../horarios.php' class='texto'>Voltar</a><br><br>";

}

else{

    echo "<span class='falso'>Nada foi alterado.</span><br/><br/>Relatar os problemas ao administrador do sistema.";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

mysql_num_rows não funciona para delets, acho que o comando que você quer é o mysql_affected_rows que mostra as linhas que foram afetadas com a operação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi por isso que eu criei a função mysql_num_rows(); em conjunto com o select que fiz... assim não da esse problema.

 

outra coisa: isso está errado :

 

PHP
while($cont < $tamanho){

    $del=$_POST["deleta    $cont  "]; // não pode ter essa variável ai...

    $id=$_POST["id    $cont   "]; // e aqui também não.

        if ($del=="on"){

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu retirei igual você tinha feito, so q não dar certo, pois a pagina que recebe os dados não tem o valor de deleta por exemplo, senão todos os campos anteriores terao o mesmo nome e por isso não será passado nenhum valor. você fez uma consulta onde não vai pegar quantas linhas foram apagadas, daí modifiquei:

...if ($del=="on"){
		   $ver = mysql_query("delete from $tabela where id='$id'", $base);
		   $linhas = mysql_num_rows($ver)or die("Erro..".mysql_error());
		}...

Ainda está dando mensagem que não contem argumento. :( .. Brigado kra!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo olha o post do slipce....

 

Ele já esplicou o porque que não da certo...

 

o

PHP
serve para contar as linhas e não para trazer linhas afetadas por uma consulta exceto a seleção dos dados para a contagem de linhas, então logo tu podes usar a função que ele disse que é a

 

PHP

 

segue o código correto.

 

PHP
<?php

  function conexao(){

  global $base;

 

  $base = mysql_connect("localhost","USUARIO","SENHA")or die("Erro ao se conectar com o DB");

  $db   = mysql_select_db("NOME_DB,$base)or die("Erro na seleção do DB");

}

?>

 

<?

conexao();

 

$cont=0;

$ver=0;

$tamanho = $_POST["tamanho"];

$tabela = $_POST["tabela"];

 

while($cont < $tamanho){

    $del=$_POST["deleta"];

    $id=$_POST["id"];

        if ($del=="on"){

           $ver = mysql_query("delete from $tabela where id='$id'", $base);

           $linhas = mysql_affected_rows($ver);

        }

$cont++;

}

 

if($linhas == true){

echo "Horário(s) deletado(s)!<br/><br/>Tabela: $tabela<br><br><a href='../horarios.php' class='texto'>Voltar</a><br><br>";

}

else{

    echo "<span class='falso'>Nada foi alterado.</span><br/><br/>Relatar os problemas ao administrador do sistema.";

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ow.. Vlw mesmo.. Tem que estudar mesmo.. Agora tem umas coisas que é mutio dificil de entender.. Este argumento que estava aparecendo então no mysql_num_rows não era para este caso, pois: "serve para contar as linhas e não para trazer linhas afetadas por uma consulta exceto a seleção dos dados para a contagem de linhas..."

 

Estou com zik mesmo:

Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in c:\arquivos de programas\easyphp1-8\www\midiabhnovo\admin\deletar\deletado.php on line 81

O pior de tudo que excluir o que quero!

 

Brigadão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Somos Brasileiros ! hehehhe tente novamente...

 

PHP
<?php

  function conexao(){

  global $base;

 

  $base = mysql_connect("localhost","USUARIO","SENHA")or die("Erro ao se conectar com o DB");

  $db   = mysql_select_db("NOME_DB,$base)or die("Erro na seleção do DB");

}

?>

 

<?

conexao();

 

$cont=0;

$ver=0;

$tamanho = $_POST["tamanho"];

$tabela = $_POST["tabela"];

 

while($cont < $tamanho){

    $del=$_POST["deleta"];

    $id=$_POST["id"];

        if ($del=="on"){

           $ver = mysql_query("delete from $tabela where id='$id'", $base);

           printf("Registros excluídos ! %dn", mysql_affected_rows());

        }

$cont++;

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma dica: enquanto esta linha não retornar corretamente um resource, não vai dar certo o que você está tentando fazer.

 

Linha:

$ver = mysql_query("delete from $tabela where id='$id'", $base);

Tenta printar um mysql_error(), por exemplo pra descobrir porque o resource não tá sendo gerado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma dica: enquanto esta linha não retornar corretamente um resource, não vai dar certo o que você está tentando fazer.

 

Linha:

CODE

$ver = mysql_query("delete from $tabela where id='$id'", $base);

 

 

Tenta printar um mysql_error(), por exemplo pra descobrir porque o resource não tá sendo gerado.

Então nesta linha vou colocar:

$ver = mysql_query("delete from $tabela where id='$id'", $base) or die (mysql_error());

Já aproveitando, coloco o coódigo

... or die (mysql_error());
Onde eu quiser, para ver se aparece algum erro?

 

Desde já agradeço.

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.