- mensagem de erro
+ Responder ao Tópico
-
mensagem de erro
Não estou conseguindo desvendar um erro. Tenho o seguinte código:
$redirect = $_SESSION['PrevUrl'];
$query = sprintf("SELECT login, pass_md5, gid, id FROM usuarios_incaper WHERE login='%s' AND pass_md5='%s'",$login,$pass_md5);
$requestBD = mysql_query($query,$conn1) or die(mysql_errno());
$ok = mysql_num_rows($requestBD);
if ($ok)
{
$linha = mysql_fetch_assoc($requestBD);
$_SESSION['aceito']=true;
$_SESSION['gid']=$linha['gid'];
$_SESSION['uid']=$linha['id'];
O arquivo de conexão com o banco está da seguinte maneira?
$user="usuario"
$pass="senha"
$host="host"
$bd="nome"
$conn1 = new mysqli($host, $user, $pass, $bd);
if (mysqli_connect_errno()) trigger_error(mysqli_connect_error());
Alguém pode me ajudar?
A mensagem de erro é a seguinte: ( ! ) Warning: mysqli_query() expects parameter 1 to be mysqli, string given in F:\wamp\www\propostas\admin\login2.php on line 30
-
Re: mensagem de erro
Me desculpa se eu não souber explicar direito porque meu php tá meio enferrujado.
Mas vamos lá, resumindo você começou usando a função mysqli e depois passou a usar mysql por isso ele retorna este erro.
Você tem 2 opções:
Trocar o tipo de conexão para mysql:
$conn1=mysql_connect($host, $user, $pass)or die ("Erro na conexao");
mysql_select_db($bd)or die ("Erro na selecao do banco de dados");
Ou trocar o restante das funções para mysqli:
mysql_query troca por mysqli_query
mysql_errno troca por mysqli_errno
mysql_num_rows troca por mysqli_num_rows
mysql_fetch_assoc troca por mysqli_fetch_assoc
Outro detalhe muito importante que você deve observar:
mysql_query(consulta, identificação/conexão).
No seu caso esta correto, mas se for trocar as funções para mysqli_query
voce deve inverter as variaveis:
mysqli_query(identificação/conexão, consulta).
Espero que ajude!
-
Re: mensagem de erro
Oi eeds,
Ao usar o mysqli, se eu inverter as variaveis:
mysqli_query(identificação/conexão, consulta), ele não executa nada, nem consigo me logar. Se deixar da forma contrária, aparecem os erros:
! ) Warning: mysqli_query() expects parameter 1 to be mysqli, string given in F:\wamp\www\propostas\admin\login2.php on line 30 |
Call Stack |
# |
Time |
Memory |
Function |
Location |
1 |
0.0010 |
149096 |
{main}( ) |
..\login2.php:0 |
2 |
0.0300 |
512576 |
mysqli_query ( ) |
..\login2.php:30 |
( ! ) Warning: mysqli_error() expects exactly 1 parameter, 0 given in F:\wamp\www\propostas\admin\login2.php on line 30 |
Call Stack |
# |
Time |
Memory |
Function |
Location |
1 |
0.0010 |
149096 |
{main}( ) |
..\login2.php:0 |
2 |
0.0340 |
512688 |
mysqli_error ( ) |
..\login2.php:30 |
-
Re: mensagem de erro
Da forma correta não aparece nada porque nenhum erro é gerado no código.
Não é que ele não executa nada é que nenhum resultado foi gerado.
Já da forma contraria ele gera este erro ai, se você não consegue logar é porque ta faltando algum parâmetro para concluir o login.
essas variáveis do sprintf = $login,$pass_md5 você pega os valores de onde ? via formulário ? se for adiciona um "echo" na sua consulta!!!
logo abaixo da consulta:
echo $query;
e veja se ela esta correta, caso esteja coloque um echo nos parâmetros que retorna do banco de dados!!
echo $linha['gid'];
echo $linha['id'];
veja se o retorno esta correto !
Caso precise, pode postar o código todo pra eu te ajudar !
Lembrando que copiei seu código e testei aqui e com as alterações que mencionei antes funcionou perfeitamente, Criei até uma tabela teste com os campos da consulta.
-
Re: mensagem de erro
Está da forma correta, creio eu. No entanto não consigo efetuar o login agora. Não mexi no arquivo de configuração. Ele está ok. Olhe o código todo, por favor.
<?php include ("topo.php");?>
<?php
require_once '../../vendor/autoload.php';
Dotenv::load(__DIR__);
include_once("../config2.php");
if (!isset($_SESSION)) {
session_start();
}
if (isset($_GET['s'])) {
$_SESSION['PrevUrl'] = $_GET['s'];
} else {
$_SESSION['PrevUrl'] = '';
}
if (isset($_POST['login']) && $_POST['login'] != "")
{
$login = $_POST['login'];
$pass_md5 = MD5($_POST['pass_md5']);
$login = addslashes($login);
$pass_md5 = addslashes($pass_md5);
$redirect = $_SESSION['PrevUrl'];
//$query = "SELECT login, pass, gid, id FROM usuarios_incaper WHERE login='" . $login . "' AND pass='" . $pass . "'";
$query = sprintf("SELECT login, pass_md5, gid, id FROM usuarios_incaper WHERE login='%s' AND pass_md5='%s'",$login,$pass_md5);
$requestBD = mysqli_query($conn1, $query) or die(mysqli_error());
$ok = mysqli_num_rows($requestBD);
if ($ok)
{
$linha = mysqli_fetch_assoc($requestBD);
$_SESSION['aceito']=true;
$_SESSION['gid']=$linha['gid'];
$_SESSION['uid']=$linha['id'];
header ("Location: index.php" . $redirect);
//header ("Location: index.php");
exit();
} else
{
$_SESSION['aceito']=false;
//header ("Location: login2.php?err=1&s=''" . $redirect);
header ("Location: login2.php" . $redirect);
exit();
}
}
//print "<pre>"; print_r ($_SERVER); print "</pre>";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php @header("Content-Type: text/html; charset=utf-8",true); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../css/estilo.css" />
<link type="text/css" href="../css/estilo2.css" rel="stylesheet" />
<script type="text/javascript" src="../js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="../js/jquery-ui-1.7.2.custom.min.js"></script>
<style type="text/css">
<!--
.style4 {
color: #FFFFFF;
font-weight: bold;
font-size: 12px;
}
body {
background-color: #639A9C;
}
.style5 {
font-size: 16px;
font-weight: bold;
color: #FF0000;
}
-->
</style>
</head>
<body>
<table border=0 cellpadding="0" cellspacing="0" style="HEIGHT:100%;WIDTH:100%;" bgcolor="#639A9C">
<tr align="center" bottom="middle">
<td>
<!--<form action="login2.php<?php echo ((isset ($_GET['s'])) ? '?s=' . $_GET['s'] : ''); ?>" method="post">-->
<form action="login2.php" method="post">
<div align="center">
</div>
<p> </p>
<table width="60%" border="1">
<tr>
<td align="center" valign="middle" bgcolor="#FFFFFF"><p> </p>
<p><img src="../images/addedit.png" width="612" height="100"></p>
<table width="70%" border="0">
<tr>
<td bgcolor="#CC3300"><div align="center" class="style4">Utilize seu login e senha
(conta de e-mail Incaper)<br>
para acesso ao formulário de cadastro.</div></td>
</tr>
<tr>
<td align="center" valign="middle"><div id="caixagrande" class="ui-widget-content ui-corner-all">
<div id="caixapequena" class="ui-widget-content ui-corner-all">
<table width="200" border="0">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right"><strong>Login: </strong></div></td>
<td><input type="login" name="login" value=""/></td>
<td><strong>@incaper.es.gov.br</strong></td>
</tr>
<tr>
<td><div align="right"><strong>Senha: </strong></div></td>
<td><input name="pass_md5" type="password" value=""/></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><div align="center">
<input name="submit" type="submit" value="Entrar" class="ui-state-default ui-corner-all" />
</div></td>
<td> </td>
</tr>
</table>
</div>
</div></td>
</tr>
</table>
<br>
<blockquote>
<p align="center"><span class="style2"> <strong>Observação:</strong> <br />
<br>
<span class="style5">Caso não consiga acessar o Capri com o seu "login" e senha,<br />
entre em contato com o CPD do Incaper </span>. <br>
(CPD: 3636-9833)</span></p>
<table width="95%" border="0">
<tr>
<td height="30" bgcolor="#DAEBEB"><div align="center"><a href="http://www.incaper.es.gov.br/capri/index.php"><strong>Retornar ao menu inicial do Capri</strong></a><strong></strong></div></td>
</tr>
</table>
<p> </p>
</blockquote>
<hr />
<?php include ("rodape.php");?> </td>
</tr>
</table>
</form>
<div align="center" class="style109"></div>
<?php include_once("footer.php"); ?>
</td>
</tr>
</table>
</body>
</html>