Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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."'"); $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>"; $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.
$linha_cliente = mysql_query($sql,$conn) or die(mysql_error());
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());
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..
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
O Shini já respondeu sua dúvida.
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...
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??
>
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...
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
T_VARIABLE
antes da variavel precisa de um ponto e virgula....
http://br.php.net/manual/pt_BR/language.operators.errorcontrol.php
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
>
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);>
[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
posta o codigo inteiro ai então
coloque assim:
echo '<pre>';
var_dump( $_POST );
echo '</pre>';
$proc = mysql_query("SELECT * FROM cadastro WHERE login='login' senha='senha')or die( mysql_error() );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>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'"");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
>
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:
}
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");
}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>';
}>
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'"");
OK O CODIGO QUE VOCE ME PASSO EU JA TENTEI ANTES E NAO FOI AMIGO A CONEXAO COM O BD ESTA OK
MAS POR TEM GENTE QUE ME MANDA SEM {} E SEM [] E TEM GENTE QUE ME MANDA COM {} E [], EM QUE ESSA ESPECIFICAÇÃO AJUDA?
HAAAA VALEU POR VOCE TER ME AJUDADO TA BOM, MUITO OBRIGADO MESMO CARA EU SEI QUE SEM VCS EU TO NA ROSA :grin: :grin:
$sql = mysql_query("SELECT * FROM cadastro WHERE login='**{**$_POST**[**'login'**]**}' and senha='{$_POST**[**'senha'**]****}**'");
>
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");
}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>';
}
ESSE CODIGO FUNCIONO OBRIGADO AGORA VOU ESTUDAR AS COISAS QUE VOCE ME DISSE OBRIGADO IGOR VOCE E DEMAIS :grin: :grin:
>
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
Se o, or die nao retornar o erro, use somente die retire o or no meu caso funciono nao sei bem por que mas funciona bem
Ola gente me diga uma coisa ta certo esse codigo:
<?php
session_start();
if(!isset($_SESSION['login']) and !isset($_SESSION['senha']))
{
header('location: index.php');
exit;
}
?>
se o usuario do meu site digitar usuario e senha correto ele vai ter acesso ao resto do conteudo do meu site ou vai voltar para index.php?
quero dizer a session vai liberar acesso ao resto da pagina?
<?php
$conectar = mysql_connect('localhost','root','');
$tabela = mysql_select_db('user');
\\Verificando se a tabela foi encontrada ou não..
if($tabela)
{
echo'TABELA ENCONTRADA';
}
else
{
echo'TABELA NAO ENCONTRADA';
}
\\FIM
\\Verificando se conexao foi iniciada ou Fechada
if($conectar)
{
echo'CONEXAO INICIADA';
}
else
{
echo'CONEXAO NAO FECHADA';
}
\\FIM
comando para fechar
mysql_close($conectar);
?>
nao adianto subir com mysql_close depois da conexao nao fecha do mesmo geito, e ai gente to aprendendo legal o estudando para parar de encher a paciencia de vocÊs.
To querendo fazer isso em todo sistema para segurança iniciar conexao somente quando necessario o que voce tem a dizer desse procedimento?
mas sera que nao vou me dar mal e o trafego ao banco de dados for muito grande e olha eu to esperando muita gente para a festa.
vim aqui para agradesser todos vocês que caminharam comigo me ajudando, e fazendo de mim, o que sou hoje pois eu posso efetivamente confirmar que eu ja estou mais sábio (não quanto vocês mas já sei andar devagar) com a linguagem graças a vocês, eu come-sei a criar scripts para testar a veracidade de seus funcionamentos usando nao somente strings, mas functions sabe que a linguagem as vezes da uma estalo e fica mais claras, agora sera que voce sabem que voces me ajudaram nesse caminho!!!!!!!!!!
muito obrigado a todos que responderam os meus post, voces me ajudaram a começar a andar pode acreditar eu tanto correr do dia para chegar corrento mais rapido.
Obrigrado
ASS: Alex Sandro SIlvestre:
O conhecimento liberta, da azas, pode mudar sua vida, ate mesmo voar. conhecimento e ter limite sem ver o horizonte.
na consulta passe a variavel db.
$linha_cliente = mysql_query($sql,$db) or die(mysql_error());