Ir para conteúdo

Arquivado

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

Tiago Rizzi

php mysql

Recommended Posts

O servidor local tratará como conexões diferentes.
Mesmo em localhost, cada maquina tem a sua identificação na rede via IPV4 (normalmente) ou DNS para redes com configurações mais complexas.

 

Em miudos, diferentes pcs, diferentes ids de processamento. 

Ao menos para mim funciona assim. Tenho aplicação em localhost onde 4 pcs adicionais a acessam e fazem operações que geram conexões no mySql de forma independentes

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, Tiago Rizzi disse:

se dois usuários fizer o mesmo processo no mesmo tempo

Primeiro precisa definir oq você quer dizer com 'processo'

 

Seria deletar um dado no banco?

Alterar?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 minutos atrás, gabrieldarezzo disse:

Primeiro precisa definir oq você quer dizer com 'processo'

 

Seria deletar um dado no banco?

Alterar?

 

isto realizar update, select, operações que realiza conexão com banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué faz um teste...

 

Eu tmb fiquei curioso e tentei 'simular' isso.

 

Como é humanamente impossível apertar o botão 'deletar' pessoa ao mesmo milisecond vamos fazer um SQL msm hehe:

 

CREATE DATABASE imasters;

USE imasters;

CREATE TABLE pessoa (
	 id INT(8) AUTO_INCREMENT PRIMARY KEY
	,nome  VARCHAR(50)	
);

/* Simulando no mesmo milesecond */
INSERT INTO pessoa (nome) VALUE ('Gabriel');
INSERT INTO pessoa (nome) VALUE ('Gabriel');


/*
SELECT * FROM PESSOA;
    id  nome     
------  ---------
     1  Gabriel  
     2  Gabriel  
*/

update pessoa set nome = 'Gabriel1' where id = 1;
update pessoa set nome = 'Gabriel2' where id = 1;


/*
SELECT * FROM PESSOA;
    id  nome      
------  ----------
     1  Gabriel2  
     2  Gabriel   
*/
	 
	 

delete pessoa where where id = 1;
delete pessoa where where id = 1;

/*

2 queries executed, 2 success, 0 errors, 0 warnings

Query: delete from pessoa where id = 1

1 row(s) affected

Execution Time : 0.046 sec
Transfer Time  : 0 sec
Total Time     : 0.046 sec
--------------------------------------------------

Query: delete FROM pessoa where id = 1

0 row(s) affected

Execution Time : 0 sec
Transfer Time  : 0 sec
Total Time     : 0.001 sec

*/

 

 

Como esperado, o Insert simplemente duplica (se não tiver nenhuma trava)

O Update vai valer o ultimo executado

O Delete o primeiro statment vai deletar e depois vai simplemente retorar 0 linhas afetadas.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Agora, Guilherme Luiz disse:

Isso não acontece pessoal.
Porque cada PC tem seu IP, mesmo numa rede local e logo, cada ação resulta numa conexão distinta ao mySQL
Pode fazer tranquilamente que não vai acontecer conflito.

Obrigado Valeu

1 hora atrás, gabrieldarezzo disse:

Ué faz um teste...

 

Eu tmb fiquei curioso e tentei 'simular' isso.

 

Como é humanamente impossível apertar o botão 'deletar' pessoa ao mesmo milisecond vamos fazer um SQL msm hehe:

 


CREATE DATABASE imasters;

USE imasters;

CREATE TABLE pessoa (
	 id INT(8) AUTO_INCREMENT PRIMARY KEY
	,nome  VARCHAR(50)	
);

/* Simulando no mesmo milesecond */
INSERT INTO pessoa (nome) VALUE ('Gabriel');
INSERT INTO pessoa (nome) VALUE ('Gabriel');


/*
SELECT * FROM PESSOA;
    id  nome     
------  ---------
     1  Gabriel  
     2  Gabriel  
*/

update pessoa set nome = 'Gabriel1' where id = 1;
update pessoa set nome = 'Gabriel2' where id = 1;


/*
SELECT * FROM PESSOA;
    id  nome      
------  ----------
     1  Gabriel2  
     2  Gabriel   
*/
	 
	 

delete pessoa where where id = 1;
delete pessoa where where id = 1;

/*

2 queries executed, 2 success, 0 errors, 0 warnings

Query: delete from pessoa where id = 1

1 row(s) affected

Execution Time : 0.046 sec
Transfer Time  : 0 sec
Total Time     : 0.046 sec
--------------------------------------------------

Query: delete FROM pessoa where id = 1

0 row(s) affected

Execution Time : 0 sec
Transfer Time  : 0 sec
Total Time     : 0.001 sec

*/

 

 

Como esperado, o Insert simplemente duplica (se não tiver nenhuma trava)

O Update vai valer o ultimo executado

O Delete o primeiro statment vai deletar e depois vai simplemente retorar 0 linhas afetadas.

 

 

Obrigado Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por gersonab
      Boa noite a todos, gostaria da ajuda de vcs, tenho um loop while dentro de uma janela modal, eu preciso q este seja dividido em duas colunas, pois esta ficando um pouco extenso, este lista opções que tenho no BD, fazendo os checkbox.
      estrutura .
      <div class="row"> <div class="col-md-12 ml-auto"> <label for="recipient-name" class="col-form-label">Opções:</label> <?php $curc4 = $pdo->query("SELECT * FROM opcoes ORDER BY opcao asc"); while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) { ?> <div class="checkbox-dark m-squar"> <input type="checkbox" name="opcao[]" id="opcao" value="<?php echo $lic4['opcao']; ?>"> <label class="mt-0" ><?php echo $lic4['opcao']; ?></label> </div> <?php } ?> </div> </div> no momento com 22 itens cadastrados, gostaria de mostrar duas colunas de 11 itens, desde já agradeço.
    • Por gersonab
      Boa tarde.
      estou com dificuldades para formar uma lógica, tenho um sistema onde faço o cadastro de parcelas conforme pedido pelo cliente, até aí sem problema, só que, só que se na hora o cliente resolver fazer à vista , eu não consigo editar, pois o número de parcelas seriam 0.
      <?php if(($parcpg === 0 ) || ( $parcpg === '')){ // caso não tenha parcela $valorparcelado = 0; } elseif (($jurospg === 0) || ($jurospg === '')){ // caso não tenha juros $valorparcelado = $valent / $parcpg; // caso parcela seja 0 ou nula dá erro aqui } else { $jurospg1 = $jurospg / 100; $nump = ($parcpg * 30); $nump4 = $nump + 30; $nump2 = $nump4 / 2; $nump22 = ($jurospg1 / 30) * $nump2; $valormedio = $nump22 * $valent; $valente = $valent + $valormedio; $valorparcelado = $valente / $parcpg;// caso parcela seja 0 ou nula dá erro aqui } ?> o erro só ocorre na edição.
       
    • Por gersonab
      Boa tarde
      tenho uma tabela com alguns itens e seus respectivos valores, preciso atualizar esses valores caso necessite.
      tipo:
      id - tip - descricao - valor
      1 -  1   - descrição - 2,00
      2 -  1   - descrição -12,00
      3 -  1   - descrição - 22,00
      4 -  2   - descrição - 2,00
      5 -  2   - descrição - 2,00
      6 -  2   - descrição - 2,00
       
      o  que eu quero fazer é atualizar conforme o tip , por exemplo , atualizar os valores do tip = 1 em 15%, assim ele atualizaria todos do tip 1 em 15%
    • Por gersonab
      utilizo um script para fazer upload de vários arquivos, só que agora foi solicitado para zipar o mesmo ao fazer o upload, pra ser sincero ja verifiquei vários tutoriais e não estou conseguindo.
      segue o script do upload funcionando sem o zip
       
      <?php if (!isset($_SESSION)) session_start(); require_once('config.php'); error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED); $idpr=$_POST['idpr']; $fotoprof=$_POST['fotoprof']; $foproc=$_POST['foproc']; $diretorio = "../files/"; $arquivo = $_FILES['foto']; for ($controle = 0; $controle < count($arquivo['name']); $controle++){ $nome = ($idpr."-P-".$arquivo['name'][$controle]); $values .= " ('{$nome}', '{$fotoprof}', '{$idpr}'),"; $destino = $diretorio."/".$idpr."-P-".$arquivo['name'][$controle]; move_uploaded_file($arquivo['tmp_name'][$controle], $destino); } $values=substr($values, 0, -1); $sql_fotos = "INSERT INTO fotos ( foto, fotoprof, fotoidpr ) VALUES $values"; //executa a query $executa = mysqli_query($con,$sql_fotos); ?> desde já agradeço qq ajuda.
    • Por Ross Risso
      Tenho uma tabela pedidos com o campo forma de pagamento -  formpag - ele é uma combox que o usuário escolhe se o pagamento vai ser em dinheiro ou ou depósito em banco, na hora de criar o pedido.
      Nessa tabela também existe o campo total. O que necessito é buscar em uma consulta o total de todos os pedidos e mostrar separadamente na mesma consulta o total em dinheiro e em depósito.
      $qr="SELECT dataped, formpag, total  FROM tblpedidos  GROUP BY MONTH(dataped)"; $sqli=mysqli_query($conn,$qr); while($ln = mysqli_fetch_assoc($sqli)){} Como faço para obter a soma de "total" quando? Exemplo:
      JANEIRO  quando formpag for dinheiro - total em dinheido - quando formpag for depósito - total em depósito.
      JANEIRO total em dinheiro $ 100,00 - total em depósito $ 50,00. E assim por diante: FEVEREIRO, MARÇO e etc.
      espero ter sido claro. Agradeço a atenção de todos.
×

Informação importante

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