Ir para conteúdo

POWERED BY:

Arquivado

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

MarcioPG

Problema com SELECT "em massa"

Recommended Posts

Estou com um problema ao executar esse código:

No formulário há um campo textarea que eu insiro os usuários, separando por quebra de linha, mas ao executar o SELECT no banco de dados somente o último id é retornado, os demais ficam em branco.

	$usuarios = $_POST["usr"];
		
	$vetor = explode("\n",$usuarios);
	

	foreach($vetor as $usuario){
		if($usuario != ""){
			$user = str_replace(" ","",$usuario);
			$res = mysql_query("SELECT * FROM usuario WHERE nome = '".$user."'");
			$row2 = mysql_fetch_assoc($res);
			echo $user." - ".$row2['id']."<br>";
		}
	}

Grato desde já.

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já imaginou se o array tiver 100 mil índices?

Esse seu loop vai demorar muito.

 

Evite o Problema do N+1.

 

Você pode resolver isso com apenas uma consulta, usando "IN". Veja este meu artigo

 

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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