Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
$sql = "select codfuncionario, usuario, senha from tblfuncionario where senha = '$senha'";
$row = $con->prepare($sql);
$row->execute();
echo $row->fetchColumn();
$bd_code = $row->fetchColumn();
$bd_user = $row->fetchColumn(1);
$bd_pass = $row->fetchColumn(2);
echo $bd_user;
Porque a última linha não imprime o valor e a outra sim ?
Está me atrapalhando a declarar as sessions isso.
Cheguei.
Eu li isso:
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/ Fetch the first column from the next row in the result set /
print("Fetch the first column from the next row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");
print("Fetch the second column from the next row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>
Eu fiz exatamente como está aí não foi ? Só mudei o nome da variável, mas ele não imprime.
de um print_r no fetch
Tá de brincadeira comigo... Ele está retornando os dados, já testei.
você leu isso:
Fetch the second column from the next row in the result set
?
cada vez que você faz um fetch, você queima uma linha do resultado.
se você quer pegar as colunas de uma mesma linha, você não deve fazer esses fetchs seguidos !
Pode crê!
Eu li também...
Veja o que eu fiz para solucionar:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$login = trim($_POST['login']);
$senha = trim($_POST['senha']);
$login = addslashes($login);
$senha = addslashes($senha);
$sql = "select usuario from tblfuncionario where usuario = '$login'";
$res = $con->prepare($sql);
$res->execute();
if($login == strtolower($res->fetchColumn()))
{
$sql = "select codfuncionario, usuario, senha from tblfuncionario where senha = '$senha'";
$row = $con->prepare($sql);
$row->execute();
$result = $row->fetch(PDO::FETCH_OBJ);
$bd_code = $result->codfuncionario;
$bd_user = $result->usuario;
$bd_pass = $result->senha;
if($senha == $bd_pass)
{
session_start();
$_SESSION['codfuncionario'] = $bd_code;
$_SESSION['usuario'] = $bd_user;
header("Location: principal.php");
}
else
{
$error = "Senha Inválida!";
}
}
else
{
$error = "Usuário Inválido!";
}
}
?>
Parabeins!
Tu já chegou a ler a documentação do PDO ?