Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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?
poste o código ai, para verificar-mos o que está errado.
Abraço.
<?
include '../conexao.php';
$db=conectar();
$sql=mysql_query("select * from 3d_modelagem", $db);$horarios = $valor['horarios'];
if($horarios!="[Selecione o Horário]"){
echo "Horário: <input type='text' value='$horarios' size='102'>";
}
}
?>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?
é 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.
Não deu..
Utiliza assim:
include_once ('pagina.php');
>
é 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
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>"; echo "<span class='falso'>Nada foi alterado.</span><br/><br/>Relatar os problemas ao administrador do sistema.";
}
?>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 :(
Modifiquei teu código tenta ai...
altere os dados de acordo com o seu servidor...
PHP
<?<?php
function conexao(){
[global](http://br.php.net/global) $base;
$base = [mysql_connect](http://br.php.net/mysql_connect)("localhost","USUARIO","SENHA")or [die](http://br.php.net/die)("Erro ao se conectar com o DB");
$db = [mysql_select_db](http://br.php.net/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.";
}
?>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!
tente novamente.
Abraço.
PHP
<?<?php
function conexao(){
[global](http://br.php.net/global) $base;
$base = [mysql_connect](http://br.php.net/mysql_connect)("localhost","USUARIO","SENHA")or [die](http://br.php.net/die)("Erro ao se conectar com o DB");
$db = [mysql_select_db](http://br.php.net/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.";
}
?>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.
Agora deu sim... O que estava acontecendo antes. Pq não estava dando?
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
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!Amigo olha o post do slipce....
Ele já esplicou o porque que não da certo...
o
PHP
mysql_num_rows(); 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](http://br.php.net/global) $base;
$base = [mysql_connect](http://br.php.net/mysql_connect)("localhost","USUARIO","SENHA")or [die](http://br.php.net/die)("Erro ao se conectar com o DB");
$db = [mysql_select_db](http://br.php.net/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.";
}
?>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!
Somos Brasileiros ! hehehhe tente novamente...
PHP
<?php function conexao(){
[global](http://br.php.net/global) $base;
$base = [mysql_connect](http://br.php.net/mysql_connect)("localhost","USUARIO","SENHA")or [die](http://br.php.net/die)("Erro ao se conectar com o DB");
$db = [mysql_select_db](http://br.php.net/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++;
}
?>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.>
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.
desde que seja em uma consulta com o DB...
Cara eu tou confuso agora, tu disse no tópico assima que tinha dado certo, e agora endoidou de novo ?
Deu sim.. Só estou tentando aprender com erro!
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.