Mysqli_real_connect()

php-mysql

#1

mysqli_real_connect(): (HY000/2002): Only one usage of each socket address (protocol/network address/port) is normally permitted.

Boa noite @evaldojuniorbento, boa noite pessoal! Gostaria de saber como poderei contornar este problema…


#2

Me parece que você está conectando ao MySQL mais de uma vez no mesmo script.


#3
<?php 

# Informacoes da base de dados necessarias para a criacao da conecao
$bdServidor = '127.0.0.1';
$bdUsuario = 'root';
$bdSenha = '';
$bdBanco = 'tarefas';

# Criando a conexao com a base de daos
$conexao = mysqli_connect($bdServidor, $bdUsuario, $bdSenha, $bdBanco);

if (mysqli_connect_errno($conexao)) {
	echo "Problemas para conectar no banco. Erro: ";
	echo mysqli_connect_error();
	# Encerra o programa aqui sem ler o codigo que existe mais para frente
	# Caso exista algum erro na conexao
	die();
}

function buscar_tarefas($conexao) {
	$sqlBusca = 'SELECT * FROM tarefas';
	# Abre uma conecao com a base de dados, executa a busca e guarda os dados na variavel resultado
	$resultado = mysqli_query($conexao, $sqlBusca);

	$tarefas = [];

	while ($tarefa = mysqli_fetch_assoc($resultado)) {
		$tarefas[] = $tarefa;
	}

	return $tarefas;
}

function gravar_tarefas($conexao, $tarefa) {
	$sqlGravar = "
		INSERT INTO tarefas
		(nome, descricao, prioridade, prazo, concluida)
		VALUES 
		(
			'{$tarefa['nome']}',
			'{$tarefa['descricao']}',
			{$tarefa['prioridade']},
			'{$tarefa['prazo']}',
			{$tarefa['concluida']}
		)
	";
	# Grava os dados enviados pelo formulario
	mysqli_query($conexao, $sqlGravar);
}

# Busca uma tarefa de cada vez
function buscar_tarefa($conexao, $id) {
	$sqlBusca = 'SELECT * FROM tarefas WHERE id = ' . $id;
	$resultado = mysqli_query($conexao, $sqlBusca);
	return mysqli_fetch_assoc($resultado);
}

# Metodo para edicao de uma determinada tarefa
function editar_tarefa($conexao, $tarefa) {
	$sqlEditar = "
		UPDATE tarefas SET
			nome = '{$tarefa['nome']}',
			descricao = '{$tarefa['descricao']}',
			prioridade = {$tarefa['prioridade']},
			prazo = '{$tarefa['prazo']}',
			concluida = {$tarefa['concluida']}
		WHERE id = {$tarefa['id']}
	";

	mysqli_query($conexao, $sqlEditar);
}

# Remove tarefas 
function remover_tarefa($conexao, $id) {
	$sqlRemover = "DELETE FROM tarefas WHERE id = {$id}";

	mysqli_query($conexao, $sqlRemover);
}

?>
So tenho conexao com o banco de dados aqui nesse script…


#4

Você tentou pesquisar pelo erro? De repente tem alguma resposta simples pesquisando no Google :slight_smile: Então você pode compartilhar com a gente.


#5

Tentei, ainda não consegui uma resposta satisfatória, mas assim que encontrar irei partilhar.


#6

http://www.bestphpide.com/erro-mysql-php-apenas-um-uso-de-cada-endereco-de-soquete-protocolo-endereco-de-rede-porta-e-normalmente-permitido.html

Encontrei a solução neste link…