Ir para conteúdo

POWERED BY:

Arquivado

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

Moran

[Resolvido] Warning: mysql_query(): 4 is not a valid MySQL-Link r

Recommended Posts

e ai pessoal. mais uma vez conto com a ajuda de vocês.

 

bom estou com o seguinte erro.

Warning: mysql_query(): 4 is not a valid MySQL-Link resource.

 

meu codigo é esse.

<?
include "../../config-db/config-db.php";
include "../../cria-session/validar-session-usuario2.php";

if(isset($_GET['finalizar']) && $_GET['finalizar']=='true'  ) {


$sql = "SELECT * FROM cliente WHERE cliente.email_cli='".$login_usuario."'";
		$linha_cliente = mysql_query($sql,$conn) or die(mysql_error()); 
		$rs_cliente = mysql_fetch_assoc($linha_cliente);		
		$id=$rs_cliente['id_cliente'];

$situacao='Finalizada';
$situacaonao='No Carrinho';




$sql = mysql_query("SELECT * FROM carrinho WHERE cliente_id_cliente='".$id."' and situacao='".$situacaonao."'");
if(mysql_num_rows($sql)!=0) {
	$sql2 = mysql_query("UPDATE carrinho SET situacao='".$situacao."' WHERE cliente_id_cliente='".$id."'") or die (mysql_error());
	echo "<script>alert('Compra Finalizada. Embreve sua compra estará chegando'); window.history.go(-1);</script>";
}else{
	$sql = mysql_query("SELECT * FROM carrinho WHERE cliente_id_cliente='".$id."' and situacao='".$situacao."'");
	if(mysql_num_rows($sql)!=0) { 
		echo "<script>alert('Essa compra ja esta finalizada.');window.history.go(-1);</script>";
		exit;
	}
}
}
?>

 

e

 


<?php

// faz conexão com o servidor MySQL
$local_serve = "localhost"; 	 // local do servidor
$usuario_serve = "root";		 // nome do usuario
$senha_serve = "";			 	 // senha
$banco_de_dados = "mydb";	 // nome do banco de dados

$conn = @mysql_connect($local_serve,$usuario_serve,$senha_serve) or die ("O servidor não responde!");

// conecta-se ao banco de dados
$db = @mysql_select_db($banco_de_dados,$conn) 
or die ("Não foi possivel conectar-se ao banco de dados!");

?>


a linha que esta dando o erro é essa.

[code]			$linha_cliente = mysql_query($sql,$conn) or die(mysql_error()); 

 

 

[/code]

 

estou postando novamente, pois não consegui editar o meu post.

e ai pessoal. mais uma vez conto com a ajuda de vocês.

 

bom estou com o seguinte erro.

Warning: mysql_query(): 4 is not a valid MySQL-Link resource.

 

meu codigo é esse.

 

<?
include "../../config-db/config-db.php";
include "../../cria-session/validar-session-usuario2.php";

if(isset($_GET['finalizar']) && $_GET['finalizar']=='true'  ) {


$sql = "SELECT * FROM cliente WHERE cliente.email_cli='".$login_usuario."'";
                       $linha_cliente = mysql_query($sql,$conn) or die(mysql_error()); 
                       $rs_cliente = mysql_fetch_assoc($linha_cliente);                
                       $id=$rs_cliente['id_cliente'];

       $situacao='Finalizada';
       $situacaonao='No Carrinho';




       $sql = mysql_query("SELECT * FROM carrinho WHERE cliente_id_cliente='".$id."' and situacao='".$situacaonao."'");
       if(mysql_num_rows($sql)!=0) {
               $sql2 = mysql_query("UPDATE carrinho SET situacao='".$situacao."' WHERE cliente_id_cliente='".$id."'") or die (mysql_error());
               echo "<script>alert('Compra Finalizada. Embreve sua compra estará chegando'); window.history.go(-1);</script>";
       }else{
               $sql = mysql_query("SELECT * FROM carrinho WHERE cliente_id_cliente='".$id."' and situacao='".$situacao."'");
               if(mysql_num_rows($sql)!=0) { 
                       echo "<script>alert('Essa compra ja esta finalizada.');window.history.go(-1);</script>";
                       exit;
               }
       }
}
?>



 

 

 

e

 

 

 




<?php

// faz conexão com o servidor MySQL
$local_serve = "localhost";      // local do servidor
$usuario_serve = "root";                 // nome do usuario
$senha_serve = "";                               // senha
$banco_de_dados = "mydb";        // nome do banco de dados

$conn = @mysql_connect($local_serve,$usuario_serve,$senha_serve) or die ("O servidor não responde!");

// conecta-se ao banco de dados
$db = @mysql_select_db($banco_de_dados,$conn) 
       or die ("Não foi possivel conectar-se ao banco de dados!");

?>


 

 

e a linha que esta me aparecendo o erro é

 

 


$linha_cliente = mysql_query($sql,$conn) or die(mysql_error()); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

na consulta passe a variavel db.

 

$linha_cliente = mysql_query($sql,$db) or die(mysql_error()); 

Compartilhar este post


Link para o post
Compartilhar em outros sites

o '@' esconde os erros,

 

$conn = @mysql_connect($local_serve,$usuario_serve,$senha_serve) or die ("O servidor não responde!");
$db = @mysql_select_db($banco_de_dados,$conn) ...

provavelmente tem erro aki q esta sendo escondido...retire estes '@' e veja os erros q eles dao, pois eh numa dessas linhas q estao os verdadeiros erros..

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

po cara, valeu era isso mesmo. agora ta me retornondo o seguinte

 

Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\site\Area-usuario\carrinho\finalizar-compra.php on line 8

 

se alguem tiver alguma ideia do que seja..

agradeceria muito.

 

continua dando o mesmo problema:

 

Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\site\Area-usuario\carrinho\finalizar-compra.php on line 8

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou o banco foi selecionado errado ou os dados de conexao estao errados, retire os '@', e leia as mensagens de erros..booleam significa true ou false, ou seja, uma das funcoes acima retornou false, ou seja, uma delas nao deu true...tem q verifica-las...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, respondeu mas estou pedindo outra ajuda se possive.

 

pq agora esta me aparecendo a seguinte mensagem:

 

Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\site\Area-usuario\carrinho\finalizar-compra.php on line 8

 

testei aqui, e aparentemente esta tudo certo. se alguem tiver alguma dica.

fico gradecido

 

O que eu estou achando estranho é o seginte

eu tenho esse SELECT e eu usei o $CONN e funciona perfeitamente.

quando eu mudei o $CONN por $DB parou de dar o erro que estava dando e passou da outro ma mesma linha.

que aparentemente parasse que é por causa do $DB

 

 

alguem pode me ajudarv??

Compartilhar este post


Link para o post
Compartilhar em outros sites

ou o banco foi selecionado errado ou os dados de conexao estao errados, retire os '@', e leia as mensagens de erros..booleam significa true ou false, ou seja, uma das funcoes acima retornou false, ou seja, uma delas nao deu true...tem q verifica-las...

esse segundo parametros eh a variavel $db, , ou seja, o mysql_select_db esta retornando false, ou seja, ou o banco esta errado ou o login na conexao esta errado, verifiquei isto...da um var_dump em $conn e $db q vera isto...

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei assim.

var_dump($db);

na pagina de config.

e me retorna o seguinte :

 

Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\site\config-db\config-db.php on line 13

Compartilhar este post


Link para o post
Compartilhar em outros sites

To 4 dias batendo cabeça ajudem por favor:

 

 

$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha' $db");

die mysql_num_rows($proc);

 

erro mostrado:

 

Erro de análise : erro de sintaxe, T_STRING inesperada em C: \ Program Files \ EasyPHP-5.3.8.1 \ www \ logar.php na linha 7

 

isso quer dizer que eu estou errando na STRING ? em que lugar já fiz varias modificações e nada de resposta em 1 para continuar o meu projeto me ajudem por favor

Compartilhar este post


Link para o post
Compartilhar em outros sites

To 4 dias batendo cabeça ajudem por favor:

 

 

$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha' $db");

die mysql_num_rows($proc);

 

erro mostrado:

 

Erro de análise : erro de sintaxe, T_STRING inesperada em C: \ Program Files \ EasyPHP-5.3.8.1 \ www \ logar.php na linha 7

 

isso quer dizer que eu estou errando na STRING ? em que lugar já fiz varias modificações e nada de resposta em 1 para continuar o meu projeto me ajudem por favor

 

[troll detected]

 

esse erro aparece quando você n fechou a string.....

 

$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha'", $db);
die mysql_num_rows($proc);

Compartilhar este post


Link para o post
Compartilhar em outros sites

[troll detected]

 

esse erro aparece quando você n fechou a string.....

 

$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha'", $db);
die mysql_num_rows($proc);

 

 

ACREDITE EU JÀ FECHEI SIM ESSA MSG SAIU MAL NAO IA FICAR SEM LEMBRAR DISSO.

 

I am not troll

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta o codigo inteiro ai então

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloque assim:

echo '<pre>';
var_dump( $_POST );
echo '</pre>';
$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha')or die( mysql_error() );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pagina logar.php:

 

<?php

 

$con = mysql_connect('localhost','root','');

$bd = mysql_select_db('cadastro');

 

 

O ERROR TA NESSA LINHA

$sql = mysql_query('SELECT * FROM cadastro WHERE login=".$_POST['login']" and senha=".$_POST['senha']"');

 

 

 

 

if(mysql_num_rows($sql)==true);

 

{

while($ln = mysql_fetch_array($sql))

{

$_SESSION['login'] = $ln['login'];

$_SESSION['senha'] = $ln['senha'];

header("location: pagina segura.php");

}

}

 

 

else{

echo 'meta http-equiv="refresh" content = "0; URL = index.php">

<script type|"text/javascript\">

alert(\"Usuario ou Senha Invalido\");

</script>

';

}

 

 

?>

 

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

 

 

pagina segura.php: quando a logar e confirmada ela tem que jogar pra essa pagian:

 

<?php

session_start();

 

if(!isset($_SESSION['login']) and !isset($_SESSION['senha'])) {

header('location: index.php');

exit;

}

 

?>

 

 

 

<HTML>

<HEAD>

<TITLE>New Document</TITLE>

</HEAD>

<BODY>

<?

echo'ola voce esta no meu site'

?>

</BODY>

</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o erro esta nessa linha

$sql = mysql_query('SELECT * FROM cadastro WHERE login=".$_POST['login']" and senha=".$_POST['senha']"');

 

altere ela para essa

$sql = mysql_query("SELECT * FROM cadastro WHERE login="'$login'" and senha="'$senha'"");

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou fazer umas melhorias em seu script

 

//aki você cria um arquivo de conexao, e da include nele, pois se você precisar mudar as senhas do banco, você fara num so arquivo, se deixar como você faz agora, você tera q //mudar em cada arquivo em q você deixou a senha, entao seria bom criar um unico arquivo de conexao e dar o include

include('conexao.php');

//seria bom tb verificar se os dados vieram realmente por post, pra evitar uma brecha de seguranca

if($_SERVER['REQUEST_MKETHOD'] == 'POST')

//na linha do sql você esqueceu de fechar as concatenacoes, vou fecha-las pra você
[b]
$sql = mysql_query("SELECT * FROM cadastro WHERE login='{$_POST['login']}' and senha='{$_POST['senha']}'");[/b]

//ele sempre sera true, pois sempre trara um resultado, o correto eh  verificar se ha resultado maior q zero, pois zero significa q  nao  encontrou ninguem

if(mysql_num_rows($sql)>0);
{

//while nao eh necessario, pois kero encontrar apenas um usuario, e nao achar todos

$_SESSION['login'] = $ln['login'];
$_SESSION['senha'] = $ln['senha'];
header("location: pagina_segura.php");
}
}

//restante do script

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o erro esta nessa linha

$sql = mysql_query('SELECT * FROM cadastro WHERE login=".$_POST['login']" and senha=".$_POST['senha']"');

 

altere ela para essa

$sql = mysql_query("SELECT * FROM cadastro WHERE login="'$login'" and senha="'$senha'"");

 

MIGO O QUE VOCE COLOCO PARA MIM E LOGICO E AGRADESO EU JÁ AVIA TENTADO MAS NAO TINHA FUNCIONADO PEQUEI O SEU COD E COLOQUEI E NADA NAO FAZ A CONSULTA, VOU TERTAR O DO IGOR.PHP VAMOS VER O QUE DA... MANDA MAIS AMIGO CODIGO VAMOS VER SE RESOLVEMOS ISSO JUNTO ISSO VAI FICAR PARA AS OUTRAS PESSOAS QUE PASAREM POR ISSO COMO EU

 

OBRIGADO PELA SUA AJUDA

 

vou fazer umas melhorias em seu script

 

//aki você cria um arquivo de conexao, e da include nele, pois se você precisar mudar as senhas do banco, você fara num so arquivo, se deixar como você faz agora, você tera q //mudar em cada arquivo em q você deixou a senha, entao seria bom criar um unico arquivo de conexao e dar o include

include('conexao.php');

//seria bom tb verificar se os dados vieram realmente por post, pra evitar uma brecha de seguranca

if($_SERVER['REQUEST_MKETHOD'] == 'POST')

//na linha do sql você esqueceu de fechar as concatenacoes, vou fecha-las pra você
[b]
$sql = mysql_query("SELECT * FROM cadastro WHERE login='{$_POST['login']}' and senha='{$_POST['senha']}'");[/b]

//ele sempre sera true, pois sempre trara um resultado, o correto eh  verificar se ha resultado maior q zero, pois zero significa q  nao  encontrou ninguem

if(mysql_num_rows($sql)>0);
{

//while nao eh necessario, pois kero encontrar apenas um usuario, e nao achar todos

$_SESSION['login'] = $ln['login'];
$_SESSION['senha'] = $ln['senha'];
header("location: pagina_segura.php");
}
}

//restante do script

 

 

IGOR EU ADORO VOCE KARA MUITO OBRIGADO O CODIGO QUE VOCE ME MANDO SAIU DO,

$sql = mysql_query("SELECT,

 

aGORA ELE ESTA NA PARTE DE SESSION E EU RETIREI ELE ESTAVA COM [/b] JA RETIREI.

 

AGORA O ERRO ESTA NESSA PARTE DE SER AS CHAVES VOU VERIFICAR E RESPONDO CARA FICO MUUUUITO FELIZ QUANDO TODOS VOCES ME AJUDAM EU ACORDO E VEJO NOVAS POSIBILIDADES OBRIGADO A TODOS

 

{else{

echo 'meta http-equiv="refresh" content = "0; URL = index.php">

<script type|"text/javascript\">

alert(\"Usuario ou Senha Invalido\");

</script>

';

}

}

 

ERRO DO NAVEGADOR:

 

 

Parse error: syntax error, unexpected T_ELSE in C:\Program Files\EasyPHP-5.3.8.1\www\logar.php on line 27

 

 

 

ERRO TA AQUI AGORA DEVE SER AS CHAVES:

 

 

}else{

echo 'meta http-equiv="refresh" content = "0; URL = index.php">

<script type|"text/javascript\">

alert(\"Usuario ou Senha Invalido\");

</script>

';

 

 

AGORA ESTA RODANDO IGOR MUUUUUUUUITO OBRIGADO VOCÊ E O O MESTRE OBRIGADO CARA :clap: :clap: :clap: :clap: :clap: :clap: :clap: :clap:

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

sinceramente nao seo o pq de echo javascript, se so tem php nesta pagina, você pode usar header mesmo...vou postar o q estaria na pagina toda..

 

<?php
//seria bom tb verificar se os dados vieram realmente por post, pra evitar uma brecha de seguranca

if($_SERVER['REQUEST_METHOD'] == 'POST')
{
//aki você cria um arquivo de conexao, e da include nele, pois se você precisar mudar as senhas do banco, você fara num so arquivo, se deixar como você faz agora, você tera q //mudar em cada arquivo em q você deixou a senha, entao seria bom criar um unico arquivo de conexao e dar o include
//coloquei aqui, para avitar roubo de link resource do db...entao ele so vai conectar se for realmente por post...
include('conexao.php');

//na linha do sql você esqueceu de fechar as concatenacoes, vou fecha-las pra você

$sql = mysql_query("SELECT * FROM cadastro WHERE login='{$_POST['login']}' and senha='{$_POST['senha']}'");[/b]

//ele sempre sera true, pois sempre trara um resultado, o correto eh  verificar se ha resultado maior q zero, pois zero significa q  nao  encontrou ninguem

if(mysql_num_rows($sql)>0)
{

//while nao eh necessario, pois kero encontrar apenas um usuario, e nao achar todos
//você tb nao iniciou a sessao, logo a variavel superglobal nao tera efeito (neste caso a variavel superglobal eh $_SESSION
   	if(!session_start())
   	{
       	session_start();
   	}
   	$_SESSION['login'] = $ln['login'];
   	$_SESSION['senha'] = $ln['senha'];
   	header("location: pagina_segura.php");
}
else
{

echo '<script type="text/javascript">
alert("Usuario ou Senha Invalido");
window.location="pagina_login.php";
</script>';

}
}
else
{

echo '<script type="text/javascript">
alert("Usuario ou Senha Invalido / Metodo de acesso indevido");
window.location="pagina_login.php";
</script>';

}

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.