Ir para conteúdo

Arquivado

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

PeeWee

Dúvida no uso do AND

Recommended Posts

Estou com uma dúvida meio boba em relação ao banco de dados mysqli, pior que ja consultei em alguns lugares mas nada encontrei sobre isso. Preciso fazer uma busca com vários critérios, como não sei exatamente como fazer vou colocando AND, na maioria das vezes deu certo, mas neste caso específico nao rolou:

$query = mysqli_query($conn, "SELECT * FROM agendamento WHERE fk_id_usuario = '$iddocliente' AND statuz = 5 AND dia = '$dia' AND hora_inicio = '$hora' ");

porém se eu tiro o ultimo AND (hora_inicio = '$hora') entao funciona, só que eu preciso desse critério, pois na tabela pode haver mais agendamentos nesse mesmo dia e status, o que poderia dar problema, alguém pode me ajudar?? ouço vozes ??? rsrsrsrsrs 

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao, preciso que me traga todas as informações onde o id for igual o id que está na variavel $iddocliente e o status for igual ao da variavel e o dia e a hora respectivamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então seu sql está correto o que pode haver é a hora que está na base não ser igual a hora do parâmetro

Compartilhar este post


Link para o post
Compartilhar em outros sites
16 minutos atrás, PeeWee disse:

entao eu posso usar varios AND  ???

Pode sim. Não há limites de operadores.

 

17 horas atrás, PeeWee disse:

statuz = 5

Esse trecho está mesmo correto? Não seria "status"?

 

17 horas atrás, PeeWee disse:

dia = '$dia' AND hora_inicio = '$hora'

Talvez você esteja tendo problemas aqui por causa da especificidade na hora. Hora inicio provavelmente signifique algo como '16:00:00'. Lembre-se da presença dos minutos e dos segundos. Como você está comparando igualdades, pode ser que o banco não esteja conseguindo encontrar o que você quer.

 

Sugestão, caso seja o caso:

// $hora_min = 16:00:00    $hora_max = 16:59:59

dia = '$dia' AND ( hora_inicio BETWEEN '$hora_min' AND '$hora_max' )

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloquei statuz com Z só pra diferenciar, está correto sim, e no caso das pode ser que o código esteja interpretando de outra forma, enfim..... como existem mais campos na tabela, vou usar um outro como parametro e tirar a hora, é que eu queria usar o máximo possível, pois caso o usuário for cancelar um agendamento nao se correria o risco de cancelar um outro que tivesse informaçao igual.

 

Obrigado, vou me virar aki  vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por mkboy
      Olá
       
      Tenho uma situação onde tenho a mesma tabela em dois bancos de dados diferentes, em locais diferentes.
      E quando atualizar uma tabela preciso atualizar a segunda no outro banco de dados também, é a mesma instrução SQL, os bancos / tabelas / registros são iguais.
       
      Tentei isso, mas não funciona:
       
      $endereco_banco = "186.000.00.01"; $usuario = "us01"; $senha = "010101"; $banco = "db01"; $conexao = new mysqli($endereco_banco,$usuario, $senha, $banco); $endereco_banco_externo = "186.000.00.02"; $usuario_externo = "us02"; $senha_externo = "020202"; $banco_externo = "db02"; $conexao_externo = new mysqli($endereco_banco_externo,$usuario_externo, $senha_externo, $banco_externo); //Atualiza no primeiro DB $conexao->query($str) or trigger_error($conexao->error." [$str]"); //Atualiza no segundo DB $conexao_externo->query($str) or trigger_error($conexao_externo->error." [$str]"); Podem me ajudar por favor.
    • Por Lísias de Castro
      Ola. Estou criando um sistema de carrinho em php e pra isso preciso de um banco de dados. Pra não ficar chamando todas as funções a cada vez que a pagina atualiza, decidi usar a função mysqli_select_db, que verifica se o db existe e caso não exista, entre nas funções e crie. Porém, ao chamar a função quando o db não existe o php lança um "erro não capturado" e trava o layout. Se eu chamo o código sem o mysqli_select_db o código roda, porem chamando as funções a cada atualização. Poderia ser algum erro na api, ou tem uma nova forma pra pegar o tipo mysqli no php8?
      Esse é o código que eu chamo pra salvar os dados:
       
      ```php
      public function save($host,$user,$pass,$db){
              $connection = mysqli_connect($host, $user, $pass);
              if($connection){
                  if(mysqli_select_db($connect,$db)){
                  }
                  $dbCreator = "CREATE DATABASE IF NOT EXISTS ".$db;
                  if(mysqli_query($connection, $dbCreator)){
                      //echo "Database created successfully"."</br>";
                  } else{
                      echo "ERROR: Could not able to execute $sql. " . mysqli_error($connection);
                      return 0;
                  }
                  $tableCreator = "CREATE TABLE IF NOT EXISTS `".$db."_tb` (".
                              "`name` VARCHAR(64) NOT NULL,".
                              "`price` REAL,".
                              "`amount` SMALLINT,".
                              "`barcode` BIGINT NOT NULL PRIMARY KEY,".
                              "`lot` VARCHAR(64) NOT NULL,".
                              "`manufactured` VARCHAR(10) NOT NULL,".
                              "`maturity` VARCHAR(10) NOT NULL".
                              ");";
                  $insert = "INSERT INTO ".$db."_tb (`name`, `price`, `amount`, `barcode`, `lot`, `manufactured`, `maturity`) ".
                                "SELECT ".
                                "\"$this->name\",".
                                "\"$this->price\",".
                                "\"$this->amount\",".
                                "\"$this->barcode\",".
                                "\"$this->lot\",".
                                "\"$this->manufactured\",".
                                "\"$this->maturity\"".
                                " FROM dual WHERE NOT EXISTS(SELECT * FROM $db"."_tb WHERE barcode = '$this->barcode')LIMIT 1;";
                  if(mysqli_select_db($connection,$db)){
                      if(mysqli_query($connection,$tableCreator));//echo "Tabela ".$db."_tb criada com sucesso.<br/>";
                      if(mysqli_query($connection,$insert));//echo "Dados inseridos com sucesso em $db"."_tb<br/>";
                  }
                  mysqli_close($connection);
                  return 1;
              }
              return 0;
          }
      ```


    • Por AdrianoAP
      Pessoal estou tendo este erro quando eu fui passa a minha aplicação do mysql para o mysqli vejam o código -->>
       
      <?php
        $emitente = $mysqli->query("SELECT nome FROM emitente ORDER BY id ASC LIMIT 1");
        while($ln = $emitente->fetch_array()){
        echo $ln['nome'];
      }?>
       
       
      Devido á isso meu sistema não consegue fazer o login, se alguém puder me dar alguma dica eu agradeço.
    • Por Felper
      Criei um sistema de login com php e mysql mas não consigo realizar o login mesmo tendo certeza de que os dados foram cadastrados com sucesso. Não sei o que fiz de errado. Vejam o código:
      <?php $login2 = $_POST['loginlogar']; $senha2 = $_POST['senhalogar']; $link = mysqli_connect("localhost", "root", "", "bancolanche") or die("<h1>Não foi possível conectar!!</h1>". mysqli_error()); $banco = mysqli_select_db($link, "bancolanche") or die("<h1>Não foi possível abrir banco de dados!!</h1>". mysqli_error()); $sql = "SELECT login, senha FROM users"; $resulta = mysqli_query($link, $sql); while ($book = $resulta->fetch_object()) { $logindb = $book->login; $senhadb = $book->senha; } if($login2 == "" || $senha2 == ""){ $_SESSION['msg'] = "<h1 style='color:red'>Erro ao logar! Há campos de preenchimento obrigatório em branco.</h1>"; header("Location: logar.php"); } else { if($logindb==$login2 && $senhadb==$senha2){ $_SESSION['msg'] = "<h1 style='color:green'>Logoff realizado com sucesso!</h1>"; header("Location: index.html"); } else { $_SESSION['msg'] = "<h1 style='color:red'>Erro ao logar! Usuário inexistente ou senha incorreta.</h1>"; header("Location: logar.php"); } } mysqli_close($link); ?>  
    • Por Marcos Vinícius
      Prezados,
       
      Estou tentando fazer uma consulta que soma os valores de um campo em determinado mês/ano mas não estou conseguindo fazer funcionar. Alguém tem uma ideia do que pode ser?
       
      "SELECT sum(caepf) AS scaepf FROM atend WHERE date_format(data, '%Y-%m') <= date_format('$d', '%Y-%m') AND date_format(data, '%Y-%m') >= date_format('$d', '%Y-%m') AND pav = '$nome_pav' AND dr = '$dr' ";  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.